Heim >Datenbank >MySQL-Tutorial >Wie verwende ich PHP-PDO-vorbereitete Anweisungen korrekt mit MySQL-LIKE-Abfragen?

Wie verwende ich PHP-PDO-vorbereitete Anweisungen korrekt mit MySQL-LIKE-Abfragen?

Susan Sarandon
Susan SarandonOriginal
2024-12-20 01:53:13262Durchsuche

How to Correctly Use PHP PDO Prepared Statements with MySQL LIKE Queries?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn