Page 1 sur 1

1064 erroe

Posté : 01 sept. 2008, 16:19
par Invité2
Bonjour,

Cette requête me retourne une erreur 1064, quelqu'un y voit une erreur ...

Code : Tout sélectionner

$request = 'UPDATE horaire SET heure_11=\''.$heure1.'\', heure_12=\''.$heure2.'\', heure_21=\''.$heure3.'\', heure_22=\''.$heure4.'\', heure_31=\''.$heure5.'\', heure_32=\''.$heure6.'\', heure_41=\''.$heure7.'\', heure_42=\''.$heure8.'\', precision1=\''.$precision1.'\', precision2=\''.$precision2.'\', precision3=\''.$precision3.'\', precision4= \''.$precision4.'\' WHERE horaire_id='.$id.'\' AND jour='.$jour;
Merci

Posté : 01 sept. 2008, 16:50
par sadeq
Une apostrophe et un anti-slash de plus qui trainent dans : WHERE horaire_id='.$id.'\' AND jour='.$jour;

Posté : 01 sept. 2008, 16:53
par animithra
est ce que ça ne viendrait pas de ton :

Code : Tout sélectionner

WHERE horaire_id='.$id.'\'
seule partie du code où tu n'as pas placé deux '/' ?

c'est une suposition parce que je n'utilise pas de / dans mes synthaxes, sinon j'aurais plutôt écrit

Code : Tout sélectionner

'/'.$element.'/'
plutôt que

Code : Tout sélectionner

/''.$element.'/'
(écriture plus symétrique) mais comme je l'ai déjà dit, je n'utilise pas cette écriture...

Posté : 01 sept. 2008, 17:37
par caroube
ce qu'il y a de vachement bien avec PHP, c'est qu'on peut encadrer les chaînes avec des " ou des ' . Et du coup, on peut choisir la syntaxe qui est la plus lisible en fonction de l'intérieur de la chaîne, et qui du coup, est la plus facile à debugger.
$request = "UPDATE horaire SET heure_11='$heure1', ..."
//ou
$request = "UPDATE horaire SET heure_11='".$heure1."', ..."

Posté : 02 sept. 2008, 09:54
par Invité2
Bonjour,

Bon petit résumé, j'avais cette erreur : 1064 connexion errorYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' AND jour=lundi' at line 1

J'ai essayé ça :

Code : Tout sélectionner

$request = 'UPDATE horaire SET heure_11=\''.$heure1.'\', heure_12=\''.$heure2.'\', heure_21=\''.$heure3.'\', heure_22=\''.$heure4.'\', heure_31=\''.$heure5.'\', heure_32=\''.$heure6.'\', heure_41=\''.$heure7.'\', heure_42=\''.$heure8.'\', precision1=\''.$precision1.'\', precision2=\''.$precision2.'\', precision3=\''.$precision3.'\', precision4= \''.$precision4.'\' WHERE horaire_id='.$id.' AND jour='.$jour;
Et j'ai encore une erreur de même type : 1064 connexion errorYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND jour=lundi' at line 1

J'ai essayé d'autres solutions mais en vain ... je ne comprends pas ....

Merci

Posté : 02 sept. 2008, 17:13
par animithra
caroube t'a mis sur la piste pourtant.

ta requete doit s'écrire sous un format :

Code : Tout sélectionner

$requete = "donnee = ' ".$variable." ' ";
avec une alternance de guillemets simples et double.

toi tu n'en mets qu'un dans

Code : Tout sélectionner

AND jour='.$jour;
ton ' referme la requête, le reste est donc incorrect.

réécrits ta requête avec le modèle présenté et elle fonctionnera...