sql >> Database teknologi >  >> RDS >> Mysql

søg efter flere søgeord med php og mysql (hvor X kan lide)

For dynamisk at søge i alle søgeord kan du bruge eksplosionsfunktionen til at adskille alle søgeord;

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

Bemærkning 1: Undgå altid brugerinput, før du bruger det i din forespørgsel.

Bemærkning 2: mysql_* funktioner er forældede, brug Mysqli eller PDO som et alternativ

Opdatering 2018 - Note 3: Glem ikke at tjekke længden af ​​$queried variabel og sæt en grænse. Ellers kan brugeren indtaste en varieret stor streng og crashe din database.



  1. Søgning med accent i sqlite (android)

  2. Sådan opretter du en fremmednøgle i SQL Server (T-SQL-eksempler)

  3. Aktiver Python for at oprette forbindelse til MySQL via SSH Tunneling

  4. Slet, opdater med afledte tabeller?