Probleme lors de l'update en MySQL

Signaler
-
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
-
Bonsoir, je travail sur un forum, et j'ai un ptit soucis.

j'utilise ceci pour modifier la base de donnée, mais cela ne fonctionne pas. Pourtant j'ai toujours utilisé cette fonction ...



<meta http-equiv="Refresh"
content="3;URL=<? echo
"?page=forum/affich_mess&forum=$_GET[forum]&id=$_GET[id]&id_forum=$_GET[id_forum]";
?>">

<?

require("admin/config.php");

mysql_select_db("$DBname") or die("Impossible de joindre la base");

$result_message=mysql_query ($lock_message = "UPDATE mess_primary SET lock='lock' WHERE id='$_GET[id]'");

if (mysql_query ($lock_message))

{

echo
'&nbsp;

&nbsp;

Message
fermé avec
succés&nbsp;

&nbsp;
';


}

else

{

echo
'&nbsp;

&nbsp;

Erreur
lors de la fermeture du
message&nbsp;

&nbsp;
';


}

?>

Si quelqu'un voit une erreur la dedans

17 réponses

Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Salut,




<?php

require 'admin/config.php';

mysql_connect('hote','user','passe');

mysql_select_db($DBname) or die('Impossible de joindre la base');

if (
mysql_query ("UPDATE mess_primary SET lock='lock' WHERE id='".$_GET['id']."'")
)

{
echo
'
Message fermé avec succès
';


}

else

{

echo
'

Erreur lors de la fermeture du message
';



}

echo '
<meta
http-equiv="Refresh"
content="3;URL=?page=forum/affich_mess&amp;forum=',$_GET['forum'],'&amp;id=',$_GET['id'],'&amp;id_forum=',$_GET['id_forum'],'"
/>';



?>


ça fonctionne ?
<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>

Non ça ne fonctionne toujours pas

Je ne vois pas de quoi cela peut venir ...
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Hello,



ca veut dire quoi, ca ne fonctionne pas ? Que se passe t il au juste ?

Et bien la modification mysql ne se fait pas et j'obtient le message d'erreur definit plus haut :



Erreur lors de la fermeture du message



Mais je ne vois vraiment pas de quoi cela peut venir !
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Rajoute un or die() avec le numero d'erreur mysql, tu sauras au moins a quel type d'erreur tu as a faire.

C'est à dire ? je ne vois pas ce que tu veux dire ?
Messages postés
1267
Date d'inscription
mercredi 7 juillet 2004
Statut
Membre
Dernière intervention
29 juin 2010
1
Lu,

ajoute :

mysql_...('...') or die(mysql_error());

<hr style="width: 100%; height: 2px;">Si ma reponse te convient, merci de l'accepter !
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Tu auras ce que t'as renvoyé la requête, bref t'as surement une erreur dans tes noms de champs...

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>

Je n'ai pas d'erreur mysql en retour ... je ne comprend plus rien
d'habitude ça se fait tout seul ... et la impossible d'y arriver !
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Il n'adffiche aucune erreur et ne fait pas l'update ? Ah.

Maintenant j'ai :

Impossible d'executer la requete : You have an error in your SQL
syntax; check the manual that corresponds to your MySQL version for the
right syntax to use near 'lock='lock' WHERE id='36'' at line1


ça marche !!

j'ai mis :



"UPDATE `mess_primary` SET `lock`='lock' WHERE `id`='$id' LIMIT 1"
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
C'est en effet sans doute un probleme avec le nom de tes champs. Probablement lock...
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Ouais, de plus si id est un champ de type numérique tu peux enlever les simples quotes autour.



a +

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
25
Je viens de voir ou etais reellement ton erreur :


$result_message=mysql_query ($lock_message = "UPDATE mess_primary SET lock='lock' WHERE id='$_GET[id]'");




Tu n'as pas de quotes autour de ton id dans $_GET['id']

Cela aurait du etre :




$result_message=mysql_query ($lock_message = "UPDATE mess_primary SET lock='lock' WHERE id=".$_GET['id']);
Messages postés
25
Date d'inscription
vendredi 25 avril 2003
Statut
Membre
Dernière intervention
1 décembre 2012

Salut,
J'peux me tromper, mais il me semble que le problème viens plus du fait que "LOCK" soit un mot clé SQL, c'est pour cela que tu es obligé de le mettre sous la forme `lock`.
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
ah ouais pas bête ;-)

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>