MySql: "LIKE"

Résolu
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

  1. 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'].'%" ';
    1. 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!