Heim >Datenbank >MySQL-Tutorial >Wie verwende ich PHP-PDO-vorbereitete Anweisungen korrekt mit MySQL-LIKE-Abfragen?
PHP PDO Prepared Statement mit MySQL LIKE-Abfrage
Beim Abfragen von Daten mithilfe von PDO in PHP mit einer LIKE-Bedingung ist es wichtig, die Richtigkeit zu verstehen Umgang mit Suchbegriffen. Hier ist eine Lösung für das gemeldete Problem:
Der ursprüngliche Code hat beim Vorbereiten der Erklärung fälschlicherweise doppelte Anführungszeichen zum Suchbegriff hinzugefügt:
$ret = $prep->execute(array(':searchTerm' => '"%'.$searchTerm.'%"'));
Diese zusätzliche Anführungszeichen sind unnötig. Vorbereitete Anweisungen trennen Daten von der Abfrage, daher sollten keine Anführungszeichen eingebettet werden.
Außerdem verwendete der Code fälschlicherweise WHERE hs.hs_text LIKE „:searchTerm“, ohne die Prozentzeichen um den Suchbegriff herum hinzuzufügen.
Um das Problem zu beheben, sollte der korrigierte Code die Anweisung als ausführen folgt:
$prep = $dbh->prepare($sql); $ret = $prep->execute(array(':searchTerm' => '%'.$searchTerm.'%'));
Erklärung:
Vorbereitete Anweisungen transportieren Daten getrennt von der Abfrage, sodass Werte nicht direkt in die Abfragezeichenfolge eingesetzt werden. Anführungszeichen sind nur erforderlich, wenn Werte in eine Abfrage eingebettet werden, was hier nicht der Fall ist.
Durch die Verwendung der richtigen Syntax kann die PDO-vorbereitete Anweisung effektiv nach Daten suchen, indem sie die LIKE-Bedingung mit dem angegebenen Suchbegriff verwendet.
Das obige ist der detaillierte Inhalt vonWie verwende ich PHP-PDO-vorbereitete Anweisungen korrekt mit MySQL-LIKE-Abfragen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!