Différences dans les versions de Mysql ??
12 messages
• Page 1 sur 1
- cdelaunay
- Nouveau WRInaute

- Messages: 6
- Inscription: 15 Sep 2005
Différences dans les versions de Mysql ??
Bonjour à tous,
Je rencontre un problème dans un script tout bête, je poste donc ici, avec l'idée d'aider aussi ceux qui rencontreraient ce même problème.
Voilà le message :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1.
Je pense avoir cerné le pb sur cette fonction :
function send_sql($db, $sql) {
if ($res=mysql_db_query($db, $sql)) { return $res;
}
echo mysql_error();
exit;
}
Quelqu'un me met sur la voie ??
Merci d'avance...
Je rencontre un problème dans un script tout bête, je poste donc ici, avec l'idée d'aider aussi ceux qui rencontreraient ce même problème.
Voilà le message :
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1.
Je pense avoir cerné le pb sur cette fonction :
function send_sql($db, $sql) {
if ($res=mysql_db_query($db, $sql)) { return $res;
}
echo mysql_error();
exit;
}
Quelqu'un me met sur la voie ??
Merci d'avance...
-

Phix - WRInaute occasionnel

- Messages: 420
- Inscription: 15 Juin 2004
L'erreur vient de la requête Mysql exécutée dans cette fonction:
La requête dans $sql doit avoir une mauvaise syntaxe, si tu pouvais nous la montrer pour qu'on puisse l'analyser.
Pour info, c'est:
qui affiche l'erreur générée par l'exécution de la requête
- Code: Tout sélectionner
mysql_db_query($db, $sql)
La requête dans $sql doit avoir une mauvaise syntaxe, si tu pouvais nous la montrer pour qu'on puisse l'analyser.
Pour info, c'est:
- Code: Tout sélectionner
mysql_error()
qui affiche l'erreur générée par l'exécution de la requête
- cdelaunay
- Nouveau WRInaute

- Messages: 6
- Inscription: 15 Sep 2005
La voila...
$sql="SELECT NumArt AS '$w[NumArt]', PrixArt*0.16 AS '$w[Tax]', QteArt AS '$w[Number]', TotalArt As'$w[Sum]' FROM listecommande AS A , article AS B WHERE A.NumArt=B.NumArt AND NumClient=$KID AND NumCde=$NumCde";
Après l'avoir lue et relue, et re re lue, je vois toujours pas...
Merci à toi, ... je dois être trop fatigué....
$sql="SELECT NumArt AS '$w[NumArt]', PrixArt*0.16 AS '$w[Tax]', QteArt AS '$w[Number]', TotalArt As'$w[Sum]' FROM listecommande AS A , article AS B WHERE A.NumArt=B.NumArt AND NumClient=$KID AND NumCde=$NumCde";
Après l'avoir lue et relue, et re re lue, je vois toujours pas...
Merci à toi, ... je dois être trop fatigué....
-

ortolojf - WRInaute passionné

- Messages: 1665
- Inscription: 14 Aoû 2002
cdelaunay a écrit:La voila...
$sql="SELECT NumArt AS '$w[NumArt]', PrixArt*0.16 AS '$w[Tax]', QteArt AS '$w[Number]', TotalArt As'$w[Sum]' FROM listecommande A , article B WHERE A.NumArt=B.NumArt AND NumClient=$KID AND NumCde=$NumCde";
Après l'avoir lue et relue, et re re lue, je vois toujours pas...
Merci à toi, ... je dois être trop fatigué....
Bonjour
Sans AS après les noms des tables, celà devrait passer ?
Amicalement.
Jean Francois Ortolo
-

doic - WRInaute passionné

- Messages: 1147
- Inscription: 7 Nov 2003
cdelaunay a écrit:La voila...
$sql="SELECT NumArt AS '$w[NumArt]', PrixArt*0.16 AS '$w[Tax]', QteArt AS '$w[Number]', TotalArt As'$w[Sum]' FROM listecommande AS A , article AS B WHERE A.NumArt=B.NumArt AND NumClient=$KID AND NumCde=$NumCde";
Après l'avoir lue et relue, et re re lue, je vois toujours pas...
Merci à toi, ... je dois être trop fatigué....
Le terme souligné est à remplacer par
- Code: Tout sélectionner
TotalArt AS '$w[Sum]'
Mais de toute façon je ne suis pas sûr qu'une requête sql puisse construire des variables php comme tu le fais
Garde juste ce qui est entre crochets, sans guillemet, et récupère-les après avec
- Code: Tout sélectionner
$variablequiaexecutélarequete['NumArt']
-

Phix - WRInaute occasionnel

- Messages: 420
- Inscription: 15 Juin 2004
Voici la requête corrigée:
Pour insérer la valeur d'un tableau dans une chaîne en php il faut faire soit:
soit:
- Code: Tout sélectionner
$sql="SELECT NumArt AS '".$w['NumArt']."', PrixArt*0.16 AS '".$w['Tax']."', QteArt AS '".$w['Number']."', TotalArt As'".$w['Sum']."' FROM listecommande AS A , article AS B WHERE A.NumArt=B.NumArt AND NumClient=$KID AND NumCde=$NumCde";
Pour insérer la valeur d'un tableau dans une chaîne en php il faut faire soit:
- Code: Tout sélectionner
$chaine = "debut de chaine ${tableau['cle']} fin de chaine";
soit:
- Code: Tout sélectionner
$chaine = "debut de chaine ".$tableau['cle']." fin de chaine";
- cdelaunay
- Nouveau WRInaute

- Messages: 6
- Inscription: 15 Sep 2005
Phix :
Je suis soufflé : j'y croyais dur dur.... et çà marche pô...
désolé...
/*
Et j'ai vu ton site : scié... magnifique...
Je suis fanatique de Hummer en plus (15 ans d'Afrique...)
*/
tu veux bien me donner une autre idée aussi bonne ??
Merci...
Je suis soufflé : j'y croyais dur dur.... et çà marche pô...
désolé...
/*
Et j'ai vu ton site : scié... magnifique...
Je suis fanatique de Hummer en plus (15 ans d'Afrique...)
*/
tu veux bien me donner une autre idée aussi bonne ??
Merci...
- spidetra
- WRInaute passionné

- Messages: 1500
- Inscription: 7 Juil 2003
doic a écrit:[quote="cdelaunay"
Mais de toute façon je ne suis pas sûr qu'une requête sql puisse construire des variables php comme tu le fais
si c possible, des constructions du type :
$sql = "SELECT $foo FROM {$this->tblName} etc....." ;
c vrai que j'ai jamais essayé averc des variables non objet, mais tu peux tester en mettant tes variables entre acoolades pour voir {$foo['bar']}
- cdelaunay
- Nouveau WRInaute

- Messages: 6
- Inscription: 15 Sep 2005
Merci à Phix et à spidetra,
Qui m'ont bien aidés avec les astuces qi'ils m'ont donnés.
J'avais beaucoup d'erreurs dans ce script, et je donne ici la solution qui marche :
Il faut donc bien qualifier les variables aux noms communs aux deux tables, même avant de déclarer la deuxième table...
Voilà, encore merci à tous...
Qui m'ont bien aidés avec les astuces qi'ils m'ont donnés.
J'avais beaucoup d'erreurs dans ce script, et je donne ici la solution qui marche :
- Code: Tout sélectionner
$sql="SELECT A.NumArt AS '".$w['ArtNr']."', PrixArt AS '".$w['Tax']."', QteArt AS '".$w['Number']."', TotalArt AS '".$w['Sum']."' FROM listecommande AS A , article AS B WHERE A.NumArt=B.NumArt AND A.NumClient=$KID AND A.NumCde=$AN";
Il faut donc bien qualifier les variables aux noms communs aux deux tables, même avant de déclarer la deuxième table...
Voilà, encore merci à tous...
12 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- Les pays gérés par la Google Toolbar 2.0 - 26-06-2003
- Sortie officielle de GoogleStats v2.0 ! - 23-02-2003
- Gestion des langues et des sessions en PHP / MySQL - 02-05-2004
- Passage à l'heure d'été/hiver sur un forum phpBB 3 - 27-03-2011
- Script de mise en cache des pages (PHP MySQL) - 09-08-2010
- Yahoo Dance Décembre 2006 - 13-12-2006
- GoogleStats : analyse temps réel des visites de Google sur votre site - 02-10-2002
- Google Toolbar 2.0 (version beta) - 26-06-2003
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités
