sql >> Database >  >> RDS >> Mysql

zoek naar meerdere trefwoorden met php en mysql (waar X leuk vindt)

Om dynamisch alle trefwoorden te doorzoeken, kunt u de explode-functie gebruiken om alle trefwoorden te scheiden;

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

Opmerking 1: Ontsnap altijd aan gebruikersinvoer voordat u deze in uw zoekopdracht gebruikt.

Opmerking 2: mysql_* functies zijn verouderd, gebruik Mysqli of PDO als alternatief

Update 2018 - Opmerking 3: Vergeet niet de lengte van de $queried . te controleren variabele en stel een limiet in. Anders kan de gebruiker een grote reeks invoeren en uw database laten crashen.



  1. Wanneer *niet* voorbereide verklaringen gebruiken?

  2. hoe dbms_scheduler te gebruiken om de taak elke 30 minuten uit te voeren

  3. Een tabel maken in SQL Server

  4. SQL-tracering, 10046-gebeurtenis in Oracle:trcsess, tkprof-hulpprogramma