Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Vorbereitete PHP-PDO-Anweisung – MySQL-LIKE-Abfrage

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

Das ist falsch. Sie brauchen keine doppelten Anführungszeichen.

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

Auch das ist falsch. Versuchen Sie es mit:

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

Erläuterung:Vorbereitete Anweisungen führen nicht einfach eine Zeichenfolgenersetzung durch. Sie transportieren die Daten völlig getrennt von der Abfrage. Anführungszeichen werden nur benötigt, wenn Werte in eine Abfrage eingebettet werden.