Problème de requête update avec php mysql

Résolu
metapat Messages postés 4 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 9 janvier 2005 - 9 janv. 2005 à 01:44
metapat Messages postés 4 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 9 janvier 2005 - 9 janv. 2005 à 22:14
Bonjour, j'ai un problème d'UPDATE en php mysql, je ne le comprends pas
voilà le bout de code:

je veux mettre la table ressources à jour, elle contient comme champs: id nom left top lien

for ($i=0;$i<count($tableau);$i=$i+3)
{
//echo "indice =".$i." ".$tableau[$i]."
";
$id=$tableau[$i];
$gauche=$tableau[$i+1];
$sommet=$tableau[$i+2];
//test sur les variables
echo "id =".$id." gauche= ".$gauche."sommet=".$sommet."
";
$requete="UPDATE ressources SET left='$gauche', top='$sommet' WHERE id ='$id'";
mysql_query($requete);
echo mysql_error();
echo "
";
}

il m'affiche une erreur de syntaxe je ne la vois pas:
id =1 gauche= 687sommet=113
Erreur de syntaxe près de 'left='687', top='113' WHERE id ='1'' à la ligne 1
id =2 gauche= 677sommet=362
Erreur de syntaxe près de 'left='677', top='362' WHERE id ='2'' à la ligne 1
id =3 gauche= 10 sommet=100
Erreur de syntaxe près de 'left='10 ', top='100 ' WHERE id ='3'' à la ligne 1
merci pour toute aide

7 réponses

cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 1
9 janv. 2005 à 05:04
N'appelle pas ton champs left ? c'est un mot clé pour LEFT JOIN ...
donc évite left et top aussi au cas (mais top ne devrait pas etre un
mot clé)

PHP Guru
Écoutez les conseils d'un vieux sage ! Ils sont souvent très utiles.
http://www.lookstrike.com
3
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
9 janv. 2005 à 11:11
Salut ;-)



Au passage une bonne optimisation :

$nb=count($tableau);

$requete_mysql="UPDATE ressources SET left='$gauche', top='$sommet' WHERE ";


for ($i=0;$i<$nb;$i=$i+3)
{
$id=$tableau[$i];
$gauche=$tableau[$i+1];
$sommet=$tableau[$i+2];


echo 'd =',$id,' gauche= ',$gauche,'sommet=',$sommet,'
';



if($i==0)

{

$requete_mysql.="id='$id'";

}

else

{

$requete_mysql.=" AND id='$id'";

}
}


//connexion à la base

a faire

//requete

$requete=mysql_query($requete_mysql) OR die('Erreur MySQL');

//deconnexion

a faire

//ensuite ton traitement...


a faire



a ++
Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
0
metapat Messages postés 4 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 9 janvier 2005
9 janv. 2005 à 11:24
bonjour, merci pour vos réponses,
j'ai copié collé la requête modifier dans mysql admin et ça marche !!
mais je ne comprends pas pourquoi.
a part les nouveaux apostrophres c'est la même.mysql_query("UPDATE `ressources` SET `left` '$gauche' ,`top` '$sommet' WHERE `id` = '$id' ");
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
9 janv. 2005 à 11:31
Salut ;-)



Bah écoute c'est ce qu'on appelle un mystère lol



Tu peux cliquer sur "réponse acceptée" stp ?



merci et a++

Vulgarisation informatique : Entraide, dépannage et vulgarisation informatique

Forum d'entraide informatique (14 catégories)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
metapat Messages postés 4 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 9 janvier 2005
9 janv. 2005 à 12:38
ok c'est cliqué,
il y a beaucoup de voies qui sont impénétrables
merci
0
cs_GRenard Messages postés 1662 Date d'inscription lundi 16 septembre 2002 Statut Membre Dernière intervention 30 juillet 2008 1
9 janv. 2005 à 17:47
J'avais expliqué que c'était left qui était un mot clé... mais bon tu
n'as pas l'air à avoir lu mon post... en le mettant entre apostrophe
(ou délimiteur) tu le forces à etre un champ...

PHP Guru
Écoutez les conseils d'un vieux sage ! Ils sont souvent très utiles.
http://www.lookstrike.com
0
metapat Messages postés 4 Date d'inscription mercredi 5 janvier 2005 Statut Membre Dernière intervention 9 janvier 2005
9 janv. 2005 à 22:14
Bonjour Grenard,
désolé , je l'avais lu et tu avais raison,
j'ai cliqué sur le premier truc venu sans réfléchir,
merci et salut
métapat
ps j'ai modifié mon click
0
Rejoignez-nous