Heim > Backend-Entwicklung > PHP-Tutorial > Wie verwende ich den LIKE-Operator mit Parametern in PDO?

Wie verwende ich den LIKE-Operator mit Parametern in PDO?

Mary-Kate Olsen
Freigeben: 2024-11-27 09:26:11
Original
810 Leute haben es durchsucht

How to Use LIKE Operator with Parameters in PDO?

LIKE-Abfrage in PDO implementieren

In PDO ist es bei Verwendung des LIKE-Operators wichtig, die %-Zeichen in die Parameter aufzunehmen, nicht innerhalb der Abfrage selbst. Dies liegt daran, dass von PDO vorbereitete Anweisungen Werte in Anführungszeichen einschließen, was zu Konflikten mit den %-Platzhaltern führen kann.

Betrachten Sie beispielsweise die folgende Abfrage:

$query = "SELECT * FROM tbl WHERE address LIKE '%?%' OR address LIKE '%?%'";
$params = array($var1, $var2);
Nach dem Login kopieren

Wenn diese Abfrage vorbereitet wird, wird % Zeichen werden in Anführungszeichen gesetzt, was zu einer Abfrage wie dieser führt:

SELECT * FROM tbl WHERE address LIKE '%"foo"%' OR address LIKE '%"bar"%'
Nach dem Login kopieren

Folglich gibt die Abfrage keine zurück Ergebnisse, da die doppelten Anführungszeichen die beabsichtigte Funktionalität des LIKE-Operators stören.

Um dieses Problem zu beheben, sollten stattdessen die %-Zeichen in die Parameter aufgenommen werden:

$query = "SELECT * FROM tbl WHERE address LIKE ? OR address LIKE ?";
$params = array("%$var1%", "%$var2%");
Nach dem Login kopieren

Mit dieser Änderung wird die Die vorbereitete Abfrage sucht korrekt nach Adressen, die $var1 oder $var2 enthalten.

Das obige ist der detaillierte Inhalt vonWie verwende ich den LIKE-Operator mit Parametern in PDO?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage