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

mysql PDO jak svázat LIKE

Můžete také říci:

SELECT wrd FROM tablename WHERE wrd LIKE CONCAT(:partial, '%')

provést spojení řetězců na konci MySQL, ne že by k tomu v tomto případě byl nějaký zvláštní důvod.

Věci jsou trochu složitější, pokud je částečný wrd hledaný znak může sám o sobě obsahovat znak procenta nebo podtržítka (protože ty mají zvláštní význam pro operátor LIKE) nebo zpětné lomítko (které MySQL používá jako další vrstvu escapování v operátoru LIKE — nesprávně, podle standardu ANSI SQL).

Doufejme, že se vás to nedotkne, ale pokud potřebujete tento případ správně vyřešit, zde je chaotické řešení:

$stmt= $db->prepare("SELECT wrd FROM tablename WHERE wrd LIKE :term ESCAPE '+'");
$escaped= str_replace(array('+', '%', '_'), array('++', '+%', '+_'), $var);
$stmt->bindParam(':term', $escaped);


  1. Vytvořte jedinečné omezení s prázdnými sloupci

  2. Převést „datetime“ na „datetime2“ v SQL Server (příklady T-SQL)

  3. Jaké jsou známé způsoby uložení stromové struktury v relační databázi?

  4. Operátor pivotu Oracle