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

PHP PDO připravený příkaz -- MySQL dotaz LIKE

$ret = $prep->execute(array(':searchTerm' => '"%'.$searchTerm.'%"'));

To je špatně. Nepotřebujete dvojité uvozovky.

WHERE hs.hs_text LIKE ":searchTerm" 
$ret = $prep->execute(array(':searchTerm' => '%'.$searchTerm.'%'));

To je také špatně. Zkuste to s:

$prep = $dbh->prepare($sql);
$ret = $prep->execute(array(':searchTerm' => '%'.$searchTerm.'%'));

Vysvětlení:Připravené příkazy jednoduše nenahradí řetězec. Přenášejí data zcela odděleně od dotazu. Uvozovky jsou potřeba pouze při vkládání hodnot do dotazu.



  1. Použití `SELECT` k volání funkce

  2. Jak získat seznam všech kontrolních omezení v databázi SQL Server - SQL Server / TSQL výukový program, část 85

  3. Porovnání možností cloudové databáze pro PostgreSQL

  4. Nainstalujte a používejte Percona Toolkit na Centos 7