Erreur variable dans requete [PHP]
Simetra
-
drantd Messages postés 102 Statut Membre -
drantd Messages postés 102 Statut Membre -
Bonjour,
Voila je fit un site de database^^, jusqu'à présent mes recherche et tout étais basés sur un système d'ID, et je n'avais aucun problème: puis j'ai du faire une partie basé sur la recherche de mots^^, seulement voila avec des chiffres ma requête marchais mais avec des lettres... cela ne marche plus -_-.
Je vous met mon code pour que vous compreniez peut être d'où viens l'erreur.
Voila mon code, définir $selection en donnant la valeur d'un GET, faire une recherche dans 'matable' du 'groupe' possédant dans 'classe' l'attribut $selection. ensuite un 'if' vérifie que le retour n'est pas vide (se qui veut dire que cela n'existe pas sinon) si c'est vide on marque que la page est introuvable sinon on affiche $retour['groupe'] qui est donc le groupe ou la classe correspond à la valeur dans $selection.
Donc au début me envois de variable en GET n'étais que des chiffres, autrement dit je passais par une case 'ID' seulement là je ne peut pas je suis obligé de passer par une case contenant des lettres, quand j'utilisais les chiffres se code passais très bien, mais depuis que j'utilise des lettre rien à faire plus rien ne marche...
Voilà j'espère que j'ai été asses précis dans mon résumé^^ merci de votre aide.
Voila je fit un site de database^^, jusqu'à présent mes recherche et tout étais basés sur un système d'ID, et je n'avais aucun problème: puis j'ai du faire une partie basé sur la recherche de mots^^, seulement voila avec des chiffres ma requête marchais mais avec des lettres... cela ne marche plus -_-.
Je vous met mon code pour que vous compreniez peut être d'où viens l'erreur.
$selection = $_GET['var'];
$recherche = mysql_query('SELECT groupe FROM matable WHERE classe='.$selection.'');
$retour = mysql_fetch_array($recherche);
if (empty( $retour['groupe']))
{echo'Page introuvable';
}
else
{$retour['groupe'];
}
Voila mon code, définir $selection en donnant la valeur d'un GET, faire une recherche dans 'matable' du 'groupe' possédant dans 'classe' l'attribut $selection. ensuite un 'if' vérifie que le retour n'est pas vide (se qui veut dire que cela n'existe pas sinon) si c'est vide on marque que la page est introuvable sinon on affiche $retour['groupe'] qui est donc le groupe ou la classe correspond à la valeur dans $selection.
Donc au début me envois de variable en GET n'étais que des chiffres, autrement dit je passais par une case 'ID' seulement là je ne peut pas je suis obligé de passer par une case contenant des lettres, quand j'utilisais les chiffres se code passais très bien, mais depuis que j'utilise des lettre rien à faire plus rien ne marche...
Voilà j'espère que j'ai été asses précis dans mon résumé^^ merci de votre aide.
A voir également:
- Erreur variable dans requete [PHP]
- Expert php pinterest - Télécharger - Langages
- Erreur de requete facebook - Forum Facebook
- Erreur t32 ✓ - Forum Livebox
- Erreur 3000 france tv - Forum Lecteurs et supports vidéo
- Erreur upes 1025 - Forum Téléviseurs
11 réponses
2 choses ne vont pas avec ta requête, la première, tes quotes, quelque chose dans ce style serait plus juste :
"SELECT groupe FROM matable WHERE classe='$selection'"
ensuite ton classe=truc veut dire que classe doit être strictement égal à trucp. Peut être que ta requête serait plus pertinente comme suit :
"SELECT groupe FROM matable WHERE classe like '%$selection%'"
"SELECT groupe FROM matable WHERE classe='$selection'"
ensuite ton classe=truc veut dire que classe doit être strictement égal à trucp. Peut être que ta requête serait plus pertinente comme suit :
"SELECT groupe FROM matable WHERE classe like '%$selection%'"
Bonjour Simetra,
Je pense que ta ligne requete serais plus juste comme ça :
Et en mettant
Je pense que ta ligne requete serais plus juste comme ça :
$recherche = mysql_query("SELECT groupe FROM matable WHERE classe='".$selection."'");
Et en mettant
classe='*".$selection."*'"ça permettra de savoir si $selection est contenu dans le champs classe
Alors^^ oui c'est normal que ma requête soit strictement = à, c'est moi qui détermine l'envoi , en faite le GET est obtenu après avoir cliqué sur un lien donc j'ai la maitrise parfaite du contenue, quoi qu'il en soit le code ne me renvoi pas une valeur vide il me renvoi une erreur, j'ai testé de faire comme drantd a dit mais cela me renvois une erreur l'erreur me dit que l'argument mit n'est pas valide pourtant comme je le dit avec des chiffres cela marche parfaitement.
vérifie bien tes quotes, à mon avis ça vient de là
fais un echo de ta requête et montre la nous pour voir
fais un echo de ta requête et montre la nous pour voir
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'ai fait un echo de $selection pour voir si cela arrive bien, pas de problème le $selection contient exactement mon GET pour se qui est de l'echo du $retour['groupe'] il ne me retourne rien.
Essai comme ça
Avec cette option la fonction renvoi un tableau associatif.
$retour = mysql_fetch_array($recherche, MYSQL_ASSOC);
Avec cette option la fonction renvoi un tableau associatif.
Cela ne renvois toujours rien, je viens de faire un 'or die mysql error' qui me renvois ceci:
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 ' matable WHERE classe="test" ' at line 1
La requête entière est en haut -_- mais j'la remet si tu veut:
Voila y a que ça dans ma requête, je peut rien dire de plus... j'ai un GET qui arrive je travail dessus puis je renvois un valeur correspondante.
Vous allez m'dire à quoi ça sert? bien en faite par la suite plus bas dans mon code j'ai encore la même requête mais cette fois qui prend TOUT les champs et fait une mise en page d'informations complètes, cependant pour vous éviter d'avoir 15 tonne de codes je met cette requête identique mais moins longue, la différence entre les 2? l'autre au lieux de sélectionner juste 'groupe' sélectionne tout et renvois beaucoup + d'echos, seulement le problème n'est pas la mais sur <WHERE classe= '.$selection.'> donc voila je pense pas que vous aillez non plus besoin de mon code xhtml et css pour voir la mise en page^^.
$selection = $_GET['var'];
$recherche = mysql_query('SELECT groupe FROM matable WHERE classe='.$selection.'');
$retour = mysql_fetch_array($recherche);
if (empty( $retour['groupe']))
{echo'Page introuvable';
}
else
{$retour['groupe'];
}
Voila y a que ça dans ma requête, je peut rien dire de plus... j'ai un GET qui arrive je travail dessus puis je renvois un valeur correspondante.
Vous allez m'dire à quoi ça sert? bien en faite par la suite plus bas dans mon code j'ai encore la même requête mais cette fois qui prend TOUT les champs et fait une mise en page d'informations complètes, cependant pour vous éviter d'avoir 15 tonne de codes je met cette requête identique mais moins longue, la différence entre les 2? l'autre au lieux de sélectionner juste 'groupe' sélectionne tout et renvois beaucoup + d'echos, seulement le problème n'est pas la mais sur <WHERE classe= '.$selection.'> donc voila je pense pas que vous aillez non plus besoin de mon code xhtml et css pour voir la mise en page^^.