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

PHP PDO forberedt erklæring -- MySQL LIKE forespørgsel

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

Det er forkert. Du behøver ikke de dobbelte anførselstegn.

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

Dette er også forkert. Prøv med:

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

Forklaring:Forberedte udsagn udfører ikke blot en streng-erstatning. De transporterer dataene fuldstændig adskilt fra forespørgslen. Anførselstegn er kun nødvendige, når værdier indlejres i en forespørgsel.



  1. Baggrundsprocesser

  2. Lagring og analyse af dokumenter på Windows filsystem med SQL Server Semantic Search – Del 2

  3. Agent er blokeret

  4. Sådan opretter du en tabel i MySQL Workbench ved hjælp af GUI