Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Suche nach mehreren Schlüsselwörtern mit php und mysql (wobei X gefällt)

Um alle Schlüsselwörter dynamisch zu durchsuchen, können Sie die Explosionsfunktion verwenden, um alle Schlüsselwörter zu trennen;

$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);

Anmerkung 1: Schützen Sie Benutzereingaben immer, bevor Sie sie in Ihrer Abfrage verwenden.

Anmerkung 2: mysql_*-Funktionen sind veraltet, verwenden Sie Mysqli oder PDO als Alternative

Aktualisierung 2018 – Hinweis 3: Vergessen Sie nicht, die Länge des $queried zu überprüfen variabel und setzen Sie ein Limit. Andernfalls kann der Benutzer eine sehr lange Zeichenfolge eingeben und Ihre Datenbank zum Absturz bringen.