Php/sql. Filtre avec comparaison de textes
Résolu/Fermé
vermich89
Messages postés
63
Date d'inscription
lundi 20 août 2012
Statut
Membre
Dernière intervention
19 mars 2015
-
7 août 2013 à 15:31
vermich89 Messages postés 63 Date d'inscription lundi 20 août 2012 Statut Membre Dernière intervention 19 mars 2015 - 8 août 2013 à 10:28
vermich89 Messages postés 63 Date d'inscription lundi 20 août 2012 Statut Membre Dernière intervention 19 mars 2015 - 8 août 2013 à 10:28
A voir également:
- Php/sql. Filtre avec comparaison de textes
- Photo filtre 7 gratuit - Télécharger - Retouche d'image
- Easy php - Télécharger - Divers Web & Internet
- Filtre teams - Accueil - Visio
- Comparaison million milliard - Accueil - Technologies
- Sql lister les tables ✓ - Forum Programmation
2 réponses
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
7 août 2013 à 15:36
7 août 2013 à 15:36
Salut,
tel que tu as écris ton like, il n'y a aucun filtre, c'est comme si tu faisais :
ville = ".$ville."
regarde la doc : https://www.techonthenet.com/sql/like.php
n'oublie pas non plus que pour utiliser des chaines de caractères dans ton where, tu dois mettre tes valeurs entre quotes
tel que tu as écris ton like, il n'y a aucun filtre, c'est comme si tu faisais :
ville = ".$ville."
regarde la doc : https://www.techonthenet.com/sql/like.php
n'oublie pas non plus que pour utiliser des chaines de caractères dans ton where, tu dois mettre tes valeurs entre quotes
vermich89
Messages postés
63
Date d'inscription
lundi 20 août 2012
Statut
Membre
Dernière intervention
19 mars 2015
13
7 août 2013 à 15:59
7 août 2013 à 15:59
Merci pour ta rapidité.
Alors oui c'est volontaire, je souhaite que le nom de la ville soit identique car j'ai une autocompletion sur mon input. Le LIKE n'est donc pas important.
Pour ce qui est du des quotes je ne vois pas ou j'en ai oublié ? j'ai vu tellement de façon d'écrire les requetes en cherchant une solution que j'ai tout testé et je ne sais plus ce qui est bon.
Le souci c'est que cela fonctionne :
mais pas cela
Alors oui c'est volontaire, je souhaite que le nom de la ville soit identique car j'ai une autocompletion sur mon input. Le LIKE n'est donc pas important.
Pour ce qui est du des quotes je ne vois pas ou j'en ai oublié ? j'ai vu tellement de façon d'écrire les requetes en cherchant une solution que j'ai tout testé et je ne sais plus ce qui est bon.
Le souci c'est que cela fonctionne :
$requete = "SELECT ville FROM cp_autocomplete WHERE cp=".$cp." AND passage=".$passage." AND ville='thourotte' ";
mais pas cela
$ville='thourotte' $requete = "SELECT ville FROM cp_autocomplete WHERE cp=".$cp." AND passage=".$passage." AND ville=".$ville." ";
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
7 août 2013 à 16:01
7 août 2013 à 16:01
Oui, c'est tout à fait normal, dans ta requête avec $ville en variable, tu n'as pas de quote autour de $ville.
Si tu fais un echo $requete, tu t'en rendras compte tout de suite.
Si tu fais un echo $requete, tu t'en rendras compte tout de suite.
vermich89
Messages postés
63
Date d'inscription
lundi 20 août 2012
Statut
Membre
Dernière intervention
19 mars 2015
13
7 août 2013 à 16:11
7 août 2013 à 16:11
de dieu ça fait 3 heure que je suis dessus a cause de ces quotes. Un grand merci.
Connaîtrais tu un bon site pour que j'apprenne une bonne fois pour toute LA façon d'utiliser les quotes dans les requêtes ? Parce que je t'assure que j'ai vu personne écrire de la meme façon
entre cp=$cp cp='$cp' et cp=".$cp." , les trois marche, mais pas pour ville
Connaîtrais tu un bon site pour que j'apprenne une bonne fois pour toute LA façon d'utiliser les quotes dans les requêtes ? Parce que je t'assure que j'ai vu personne écrire de la meme façon
entre cp=$cp cp='$cp' et cp=".$cp." , les trois marche, mais pas pour ville
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
7 août 2013 à 16:23
7 août 2013 à 16:23
Oui, parce que pour une valeur numérique, les quotes ne sont pas nécessaires.
Je ne connais pas vraiment de cours sur la question mais je peux te faire un petit topo :
Comme je l'ai dis, dans une requête, des quotes doivent impérativement encadrer des valeurs alphanumériques.
On peut utiliser quotes ou double quotes comme ceci :
le slash servant de caractère d'échappement. Tu peux tester pour voir ce que ça donne.
Une bonne technique quand tu as un doute dans une requête, c'est de l'afficher, parfois la faute va te sauter aux yeux. Si tu ne vois pas, tu peux l'exécuter dans phpmyadmin, tu auras encore d'autres infos.
Je ne connais pas vraiment de cours sur la question mais je peux te faire un petit topo :
Comme je l'ai dis, dans une requête, des quotes doivent impérativement encadrer des valeurs alphanumériques.
On peut utiliser quotes ou double quotes comme ceci :
$val = "valeur"; $string = "ceci est ma '$val'"; $val = 'valeur'; $string = 'ceci est ma \''.$val.'\''; $val = 'valeur'; $string = 'ceci est ma "'.$val.'"'; $val = "valeur"; $string = "ceci est ma \"$val\"";
le slash servant de caractère d'échappement. Tu peux tester pour voir ce que ça donne.
Une bonne technique quand tu as un doute dans une requête, c'est de l'afficher, parfois la faute va te sauter aux yeux. Si tu ne vois pas, tu peux l'exécuter dans phpmyadmin, tu auras encore d'autres infos.
vermich89
Messages postés
63
Date d'inscription
lundi 20 août 2012
Statut
Membre
Dernière intervention
19 mars 2015
13
8 août 2013 à 10:28
8 août 2013 à 10:28
Merci beaucoup pour tes conseils. Bonne journée