Erreur SQL (syntax)

Eléphanteau du PHP | 31 Messages

13 avr. 2012, 21:33

Bonsoir, je reviens de nouveau vers vous car je bloque sur une erreur et malgré une recherche rapide sur ce forum je ne comprend absolument pas comment faire.

Voici l'erreur en question :
Erreur SQL : 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 'WHERE id = 1' at line 1 Ligne : 4.

La requete qui (je pense) pose problème :
//utilisation de la fonction sqlquery, on sait qu'on aura qu'un résultat car l'id d'un admin est unique.
$retour = sqlquery("SELECT id, login, pass_md5 FROM ".$table_admin." WHERE id = ".intval($_SESSION['id']), 1);
Voila je vous ai tous écrit si une âme charitable passe par la :wink:
Bonne soirée Azuriel

ViPHP
xTG
ViPHP | 7331 Messages

14 avr. 2012, 10:02

Je pencherai pour $table_admin qui est vide ou qui contient des caractères incorrects. ;)

Eléphanteau du PHP | 31 Messages

14 avr. 2012, 11:35

Bonjour xTG, non elle n'est pas vide et pour les caractères incorrects je regarderais.
Une dernière chose est il possible que cette requête m'affiche une erreur car elle est dans un fichier en include ? Sa peut paraître farfelue mais sur un autre fichier une requête du même genre qui est la suivante :
// Requête pour compter le nombre d'administrateur
    $admin_requete = "SELECT login_admin, mail_admin FROM ".$table_admin." ORDER BY id ASC";
Sur la page 1.php elle fonctionne parfaitement mais si je la met sur le fichier 2.php et inclue le fichier sur la page 1.php une erreur survient au niveaux du ORDER BY id ASC.

Comment c'est possible ? je ne suis que débutant dans le langage php et sql il est possible que je fasse une erreur quelque part mais où ?

J’essayerais plus tard de la mettre directement et non en include pour essayer.

Bonne journée et merci Azuriel

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

14 avr. 2012, 13:29

Salut,

Sur le principe l'include ne gêne pas.

Pour être certain de la requête affiche la (avec var_dump ou print_r) tu pourra aussi l'essayer dans un client mysql.


@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 31 Messages

14 avr. 2012, 16:49

Bonjour moogli,

Le problème est résolu j'ai écrit la requête de cette façon
$result = mysql_query('SELECT login_admin, mail_admin FROM '.$table_admin.' ORDER BY id ASC');
Et tous fonctionne :D

Et pour l'histoire du include une simple erreur de frappe :oops:
Merci pour vos réponse et bonne journée Azuriel