Mysql - PHP - SELECT .... WHERE ..... AND
Résolu/Fermé
nab13
Messages postés
54
Date d'inscription
dimanche 23 mars 2008
Statut
Membre
Dernière intervention
18 juillet 2016
-
10 févr. 2014 à 13:45
nab13 Messages postés 54 Date d'inscription dimanche 23 mars 2008 Statut Membre Dernière intervention 18 juillet 2016 - 10 févr. 2014 à 15:07
nab13 Messages postés 54 Date d'inscription dimanche 23 mars 2008 Statut Membre Dernière intervention 18 juillet 2016 - 10 févr. 2014 à 15:07
A voir également:
- Mysql - PHP - SELECT .... WHERE ..... AND
- Easy php - Télécharger - Divers Web & Internet
- Mysql community server - Télécharger - Bases de données
- Your device ran into a problem and needs to restart - Forum Windows 10
- Reboot and select proper boot device - Forum PC fixe
- And i miss you ✓ - Forum Musique / Radio / Clip
3 réponses
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
10 févr. 2014 à 13:58
10 févr. 2014 à 13:58
Bonjour,
Affiche ta requête telle qu'exécutée pour voir :
Puis exécute-la directement dans un interpréteur de commande mysql, voir si elle retourne bien des résultats.
Xavier
Affiche ta requête telle qu'exécutée pour voir :
$requete = "SELECT Chemin FROM model WHERE Ing1 = '$att1' AND Ing2 = '$att2' AND Ing3 = '$att3' AND Ing4 = '$att4' "; echo $requete; $reponse = mysql_query ($requete) OR DIE ( mysql_error()) ;
Puis exécute-la directement dans un interpréteur de commande mysql, voir si elle retourne bien des résultats.
Xavier
nab13
Messages postés
54
Date d'inscription
dimanche 23 mars 2008
Statut
Membre
Dernière intervention
18 juillet 2016
12
10 févr. 2014 à 14:35
10 févr. 2014 à 14:35
Merci Xavier, alors,
Dans le navigateur j'ai :
****SELECT 'chemin' FROM model WHERE Ing1 = '*' AND Ing2 = '*' AND Ing3 = '*' AND Ing4 = '*'
Et dans l'interpréteur j'ai :
MySQL a retourné un résultat vide (aucune ligne). (Traitement en 0.0020 sec)
J'ai mis des * pour avoir un résultat à coup sûr et dans l'interpréteur, j'ai cliqué directeur sur les colonnes pour les saisir automatiquement histoire de ne pas faire de faute de frappe.
C'est peut être ça le problème, pour rechercher n'importe quelle résultat c'est bien * ?
Dans le navigateur j'ai :
****SELECT 'chemin' FROM model WHERE Ing1 = '*' AND Ing2 = '*' AND Ing3 = '*' AND Ing4 = '*'
Et dans l'interpréteur j'ai :
MySQL a retourné un résultat vide (aucune ligne). (Traitement en 0.0020 sec)
J'ai mis des * pour avoir un résultat à coup sûr et dans l'interpréteur, j'ai cliqué directeur sur les colonnes pour les saisir automatiquement histoire de ne pas faire de faute de frappe.
C'est peut être ça le problème, pour rechercher n'importe quelle résultat c'est bien * ?
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
10 févr. 2014 à 14:57
10 févr. 2014 à 14:57
En effet, pour avoir n'importe quelle chaine de caractère, il ne faut utiliser ni le « = » ni le « * », mais « LIKE » et « % ».
Donc ton
Dans ta requête, du coup, je te suggère ceci :
Xavier
Donc ton
Ing1 = '*'devient
WHERE Ing1 LIKE '%'
Dans ta requête, du coup, je te suggère ceci :
$requete = "SELECT Chemin FROM model WHERE Ing1 LIKE '%$att1%' AND Ing2 LIKE '%$att2%' AND Ing3 LIKE '%$att3%' AND Ing4 LIKE '%$att4%' "; $reponse = mysql_query ($requete) OR DIE ( mysql_error()) ;
Xavier
nab13
Messages postés
54
Date d'inscription
dimanche 23 mars 2008
Statut
Membre
Dernière intervention
18 juillet 2016
12
10 févr. 2014 à 15:07
10 févr. 2014 à 15:07
Je savais que c'était un truc a la c.n.... Je ne sais pas pourquoi j'étais persuadé que c'était * ...
Merci beaucoup pour ton aide en tout cas.
Merci beaucoup pour ton aide en tout cas.