Syntaxe php/sql
Résolu
francdrum
Messages postés
853
Date d'inscription
Statut
Membre
Dernière intervention
-
Yaninho Messages postés 484 Date d'inscription Statut Membre Dernière intervention -
Yaninho Messages postés 484 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je débute en php/sql ...
Normalement, ce bout de code ne devrait pas donner d'erreur, non ? :
(Je dis ça, vu que je viens de le trouver sur phpdebutant.org)
$query = "SELECT date,name,email,comment FROM $table ORDER BY date DESC";
Merci pour vos réponses, vu qu'il m'affiche :
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 'ORDER BY date DESC' at line 1
Je débute en php/sql ...
Normalement, ce bout de code ne devrait pas donner d'erreur, non ? :
(Je dis ça, vu que je viens de le trouver sur phpdebutant.org)
$query = "SELECT date,name,email,comment FROM $table ORDER BY date DESC";
Merci pour vos réponses, vu qu'il m'affiche :
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 'ORDER BY date DESC' at line 1
A voir également:
- Syntaxe php/sql
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Logiciel sql - Télécharger - Bases de données
- Sql lister les tables ✓ - Forum Programmation
- Trouver erreur de syntaxe fichier txt - Forum Windows
9 réponses
Salut,
Pour débugger du sql rien de plus simple, tu affiches ta requete :
$query = "SELECT date,name,email,comment FROM $table ORDER BY date DESC";
echo '$query;
Et tu envoie le résultat sur ton interface MySql, ça te donnera une diée d'ou le problème vient.
A première vue je dirais que la variable $table est invalide.
Sinon un conseil d'optimisation les chaines php il vaut mieux les faire de cette manière :
$query = 'SELECT date,name,email,comment FROM '.$table.' ORDER BY date DESC';
C'est beaucoup + rapide à l'exécution.
Et si ta variable $table vient d'une saisie utilisateur il faut la protéger en utilisant
$query = 'SELECT date,name,email,comment FROM '.mysql_real_escape_string($table).' ORDER BY date DESC';
Pour débugger du sql rien de plus simple, tu affiches ta requete :
$query = "SELECT date,name,email,comment FROM $table ORDER BY date DESC";
echo '$query;
Et tu envoie le résultat sur ton interface MySql, ça te donnera une diée d'ou le problème vient.
A première vue je dirais que la variable $table est invalide.
Sinon un conseil d'optimisation les chaines php il vaut mieux les faire de cette manière :
$query = 'SELECT date,name,email,comment FROM '.$table.' ORDER BY date DESC';
C'est beaucoup + rapide à l'exécution.
Et si ta variable $table vient d'une saisie utilisateur il faut la protéger en utilisant
$query = 'SELECT date,name,email,comment FROM '.mysql_real_escape_string($table).' ORDER BY date DESC';
ok
super merci ;-)
Je viens de continuer à mettre ce code à ma sauce
Pour pouvoir par exemple modifier le sens (ascendant, ou descendant), je pensais à kke cose comme ça :
$query = 'SELECT lien,titre,name,niveau,format FROM '.$table.' ORDER BY name '.$sens.'';
Bizarrement, je n'ai pas d'erreur, mais ça ne change pas le sens ...
Ceci avec un lien du genre :
/index.php?page=part&sens=desc
Pô facile de coder avec des moufles .... ;-)
super merci ;-)
Je viens de continuer à mettre ce code à ma sauce
Pour pouvoir par exemple modifier le sens (ascendant, ou descendant), je pensais à kke cose comme ça :
$query = 'SELECT lien,titre,name,niveau,format FROM '.$table.' ORDER BY name '.$sens.'';
Bizarrement, je n'ai pas d'erreur, mais ça ne change pas le sens ...
Ceci avec un lien du genre :
/index.php?page=part&sens=desc
Pô facile de coder avec des moufles .... ;-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Pour aller un peu plus loin
Mais là, c'est sur, je sais vraiment pas ! C'est pas mes yeux qui vont mal !! LOL
Est ce possible losqu'on click sur les liens en haut de tableau, d'inverser automatiquement l'ordre
Je m'explique :
Avec un lien du genre :
/index.php?page=part&tri=name&sens=desc
si on reclick dessus, ça fait :
/index.php?page=part&tri=name&sens=asc
Par exemple dans mon mon phpMyAdmin, ça marche comme ça
Merci
Mais là, c'est sur, je sais vraiment pas ! C'est pas mes yeux qui vont mal !! LOL
Est ce possible losqu'on click sur les liens en haut de tableau, d'inverser automatiquement l'ordre
Je m'explique :
Avec un lien du genre :
/index.php?page=part&tri=name&sens=desc
si on reclick dessus, ça fait :
/index.php?page=part&tri=name&sens=asc
Par exemple dans mon mon phpMyAdmin, ça marche comme ça
Merci
dans ta case du tableau tu peux mettre (mais ya surement plus propre...)
<?php if($_SERVER['REQUEST_URI'] == "/index.php?page=part&tri=name&sens=desc " { ?> <a href="/index.php?page=part&tri=name&sens=asc ">blabla</a> <?php } else { ?> <a href="/index.php?page=part&tri=name&sens=desc">blabla</a> <?php } ?>
Ah ok, avec else ...
J'essaie de mettre ça
Ca ne fait rien si c'est mélangé avec tout le reste du code qui va chercher les données dans la base ?
J'essaie de mettre ça
Ca ne fait rien si c'est mélangé avec tout le reste du code qui va chercher les données dans la base ?
Oui, tout est dans le même
Ok, impec, pour le 1er click
avec une ")" à la fin de la 1ere ligne ;-)
Mais en fait, je voudrait que à chaque fois, ça inverse
Genre if asc => desc, if desc => asc
En remettant la même chose, mais inversée ?
Hihi, ça va finir par faire 15 kms ça, vu que je le mets sur 4 liens :-)
Ok, impec, pour le 1er click
avec une ")" à la fin de la 1ere ligne ;-)
Mais en fait, je voudrait que à chaque fois, ça inverse
Genre if asc => desc, if desc => asc
En remettant la même chose, mais inversée ?
Hihi, ça va finir par faire 15 kms ça, vu que je le mets sur 4 liens :-)
Je viens tout simplement de tout rassembler, entre les <? ---- ?> avec le 1er code.
C'était peut être ça, ou sinon, il y avait un espace en trop, avant des ", dans ce que tu avais écris, et j'ai enlevé les / en début de lien.
Donc, en gros, je sais pas vraiment ce qui a fait que ça marche. ^_^
En tous cas, merci pour ton aide, ça va impecc :-)
C'était peut être ça, ou sinon, il y avait un espace en trop, avant des ", dans ce que tu avais écris, et j'ai enlevé les / en début de lien.
Donc, en gros, je sais pas vraiment ce qui a fait que ça marche. ^_^
En tous cas, merci pour ton aide, ça va impecc :-)