Wie vermeide ich falsche Abfragen bei der Verwendung von LIKE in PDO?

Susan Sarandon
Freigeben: 2024-11-11 12:54:02
Original
991 Leute haben es durchsucht

How to Avoid Incorrect Queries When Using LIKE in PDO?

LIKE-Abfragen korrekt in PDO implementieren

Beim Versuch, eine LIKE-Abfrage in PDO auszuführen, ist es wichtig, die richtige Syntax sicherzustellen, um genaue Ergebnisse abzurufen . In der bereitgestellten Abfrage liegt das Problem in der Platzierung der %-Platzhalterzeichen.

Die korrekte Syntax für LIKE-Abfragen in PDO besteht darin, die %-Zeichen in das $params-Array und nicht in die Abfrage selbst aufzunehmen. Hier ist ein Beispiel:

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

Wenn die %-Zeichen im $params-Array enthalten wären, würde die generierte Abfrage wie folgt aussehen:

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

Allerdings in der ursprünglich bereitgestellten Abfrage , die %-Zeichen wurden in die Abfrage selbst eingefügt:

$query = "SELECT * FROM tbl WHERE address LIKE '%?%' OR address LIKE '%?%'";
Nach dem Login kopieren

Wenn die Abfrage ausgeführt wird, zitiert die vorbereitete Anweisung die Werte innerhalb einer bereits in Anführungszeichen gesetzten Zeichenfolge, was zu einer falschen Abfrage führt. Durch Verschieben der %-Zeichen in das $params-Array wird die beabsichtigte Abfrage korrekt ausgeführt.

Das obige ist der detaillierte Inhalt vonWie vermeide ich falsche Abfragen bei der Verwendung von LIKE 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