MySql: "LIKE"

Résolu/Fermé
pfdp0 Messages postés 168 Date d'inscription jeudi 22 décembre 2011 Statut Membre Dernière intervention 16 janvier 2018 - 30 mai 2012 à 21:49
pfdp0 Messages postés 168 Date d'inscription jeudi 22 décembre 2011 Statut Membre Dernière intervention 16 janvier 2018 - 31 mai 2012 à 16:34
Bonjour,
j'aimerais savoir où est l'erreur là dedans et comment rendre ce code correcte (quand je teste, je n'ai aucun résultat:
    $reponse = $bdd->query('SELECT * FROM jeu WHERE type = "'.$_POST['type'].'" AND texte LIKE "'.$_POST['choix'].'" ');

1 réponse

AnyProblemHaveSolution Messages postés 19 Date d'inscription mercredi 30 mai 2012 Statut Membre Dernière intervention 31 mai 2012 13
30 mai 2012 à 21:57
Alors:

Premièrement print t'as requête pour voir si tu n'as pas d'erreurs:

$req = 'SELECT * FROM jeu WHERE type = "'.$_POST['type'].'" AND texte LIKE "'.$_POST['choix'].'" ';

echo $req;


Sinon pour le LIKE en SQL normalement il faut utiliser des % qui compte comme wildcard (*) soit au début soit a la fin soit dans les 2 cas:

Commence par n'importe:
'SELECT * FROM jeu WHERE type = "'.$_POST['type'].'" AND texte LIKE "%'.$_POST['choix'].'" ';


Fini par n'importe:
'SELECT * FROM jeu WHERE type = "'.$_POST['type'].'" AND texte LIKE "'.$_POST['choix'].'%" ';


Commence et fini par n'importe:
'SELECT * FROM jeu WHERE type = "'.$_POST['type'].'" AND texte LIKE "%'.$_POST['choix'].'%" ';
4
pfdp0 Messages postés 168 Date d'inscription jeudi 22 décembre 2011 Statut Membre Dernière intervention 16 janvier 2018 12
31 mai 2012 à 16:34
c'est bon j'ai résolu,
"%'.$_POST['choix'].'%"

j'avais un peu tout testé dont enlever les % mais avais oublié de les remettre, merci beaucoup!
0