sql >> Databáze >  >> RDS >> Mysql

hledejte více klíčových slov pomocí php a mysql (kde se líbí X)

Chcete-li dynamicky vyhledávat všechna klíčová slova, můžete pomocí funkce rozložit všechna klíčová slova oddělit;

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

Poznámka 1: Před použitím uživatelského vstupu ve svém dotazu vždy unikněte.

Poznámka 2: Funkce mysql_* jsou zastaralé, jako alternativu použijte Mysqli nebo PDO

Aktualizace 2018 – Poznámka 3: Nezapomeňte zkontrolovat délku $queried proměnnou a nastavit limit. V opačném případě může uživatel vložit různě velký řetězec a způsobit pád vaší databáze.



  1. MySQL:jedinečné pole musí být index?

  2. Laravel:PDOException:nelze najít ovladač

  3. Pomocí sys.trigger_event_types vypište typy událostí spouštění na serveru SQL Server

  4. Pomocí Count zjistíte počet výskytů