Problème d'injection sql
Fermé
vagner
Messages postés
15
Date d'inscription
samedi 2 août 2008
Statut
Membre
Dernière intervention
1 juin 2009
-
1 mars 2009 à 20:19
le père - 1 mars 2009 à 22:25
le père - 1 mars 2009 à 22:25
A voir également:
- Problème d'injection sql
- Récupération serveur sql - Télécharger - Gestion de données
- Sql query - Télécharger - Gestion de données
- Sql replace plusieurs valeurs - Forum Programmation
- Delete cascade sql - Forum Programmation
- Sql pix - Forum Python
7 réponses
Pardon...
$retour = mysql_query("SELECT * FROM evenements WHERE debut LIKE '$_POST[joureven]%' ORDER BY debut DESC");
pas d'apostrophes autour des index de tableaux à l'intérieur de chaînes entre double quotes
$retour = mysql_query("SELECT * FROM evenements WHERE debut LIKE '$_POST[joureven]%' ORDER BY debut DESC");
pas d'apostrophes autour des index de tableaux à l'intérieur de chaînes entre double quotes
Utilisateur anonyme
1 mars 2009 à 20:32
1 mars 2009 à 20:32
Bonjour
à quoi correspond la ligne 39 parmi les lignes de code que tu nous as donné ?
à quoi correspond la ligne 39 parmi les lignes de code que tu nous as donné ?
Bonjour
$retour = mysql_query("SELECT * FROM evenements WHERE debut LIKE '$_POST['joureven']%' ORDER BY debut DESC");
Ta chaîne de requête commençait par ", elle finissait donc par le premier " , celui qu'il y avait avant $_POST...
Ce qu'il y avait après ne voulait plus rien dire
$retour = mysql_query("SELECT * FROM evenements WHERE debut LIKE '$_POST['joureven']%' ORDER BY debut DESC");
Ta chaîne de requête commençait par ", elle finissait donc par le premier " , celui qu'il y avait avant $_POST...
Ce qu'il y avait après ne voulait plus rien dire
vagner
Messages postés
15
Date d'inscription
samedi 2 août 2008
Statut
Membre
Dernière intervention
1 juin 2009
1 mars 2009 à 21:04
1 mars 2009 à 21:04
syntax error, unexpected T_ENCAPSED_AND_WHITESPACE ...
et la ligne 39 en fait c'est la requète sql.
et la ligne 39 en fait c'est la requète sql.
vagner
Messages postés
15
Date d'inscription
samedi 2 août 2008
Statut
Membre
Dernière intervention
1 juin 2009
1 mars 2009 à 21:33
1 mars 2009 à 21:33
Hum j'ai encore un petit soucis :
Me retourne ça :
dur : (
$retour = mysql_query("SELECT * FROM evenements WHERE valide='1' AND debut LIKE '$_POST[joureven]%' ORDER BY debut DESC"; while ($donnees = mysql_fetch_array($retour)) {
Me retourne ça :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL
dur : (
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Il devrait surtout te dire qu'il te manque une parenthèse après le DESC" mais je suppose que c'est une faute de recopie...
Ajour or die (mysql_error()) à la fin :
$retour = mysql_query("SELECT * FROM evenements WHERE valide='1' AND debut LIKE '$_POST[joureven]%' ORDER BY debut DESC") or die (mysql_error());
Ça ne va pas réparer le problème, mais ça va sortir un message d'erreur qui nous donnera quelques précisions sur la cause.
Ajour or die (mysql_error()) à la fin :
$retour = mysql_query("SELECT * FROM evenements WHERE valide='1' AND debut LIKE '$_POST[joureven]%' ORDER BY debut DESC") or die (mysql_error());
Ça ne va pas réparer le problème, mais ça va sortir un message d'erreur qui nous donnera quelques précisions sur la cause.
vagner
Messages postés
15
Date d'inscription
samedi 2 août 2008
Statut
Membre
Dernière intervention
1 juin 2009
1 mars 2009 à 22:10
1 mars 2009 à 22:10
Hum alors voila en plus claire ce que j'essais :
et mysql me renvoit :
$query = 'SELECT * FROM evenements WHERE valide=1 AND debut LIKE $_POST[joureven]% ORDER BY debut DESC'; $retour = mysql_query($query) or die (mysql_error());
et mysql me renvoit :
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 '[joureven]% ORDER BY debut DESC' at line 3
Encore un qui n'a rien compris à la différence entre les chaînes entre " et les chaînes entre ' en PHP
Si tu mets ta requête entre ', le $_POST[joureven] à l'intérieur NE REPRESENTE PAS la variable $_POST['joureven'], il représente juste la suite de caractères $,_,P,_ etc...
Il FAUT le mettre entre " pour qu'il soit considéré comme une variable.
De plus, au passage tu as fait disparaitre les ' qui entouraient la valeur du LIKE, ce qui va te donner une autre cause d'erreur.
Si tu mets ta requête entre ', le $_POST[joureven] à l'intérieur NE REPRESENTE PAS la variable $_POST['joureven'], il représente juste la suite de caractères $,_,P,_ etc...
Il FAUT le mettre entre " pour qu'il soit considéré comme une variable.
De plus, au passage tu as fait disparaitre les ' qui entouraient la valeur du LIKE, ce qui va te donner une autre cause d'erreur.
1 mars 2009 à 21:11
Merci la syntaxe est correct et mon script fonctionne,
bonne soirée !