Mysql
 sql >> Base de données >  >> RDS >> Mysql

rechercher plusieurs mots-clés avec php et mysql (où X comme)

Pour rechercher dynamiquement tous les mots-clés, vous pouvez utiliser la fonction d'éclatement pour séparer tous les mots-clés ;

$queried = mysql_real_escape_string($_POST['query']); // always escape

$keys = explode(" ",$queried);

$sql = "SELECT * FROM links WHERE name LIKE '%$queried%' ";

foreach($keys as $k){
    $sql .= " OR name LIKE '%$k%' ";
}

$result = mysql_query($sql);

Remarque 1 : Échappez toujours la saisie de l'utilisateur avant de l'utiliser dans votre requête.

Remarque 2 : Les fonctions mysql_* sont obsolètes, utilisez Mysqli ou PDO comme alternative

Mise à jour 2018 - Remarque 3 : N'oubliez pas de vérifier la longueur du $queried variable et fixer une limite. Sinon, l'utilisateur peut saisir une chaîne de grande taille et faire planter votre base de données.