Heim > Backend-Entwicklung > PHP-Tutorial > Wie führe ich eine LIKE-Abfrage mit PDO-vorbereiteten Anweisungen in PHP aus?

Wie führe ich eine LIKE-Abfrage mit PDO-vorbereiteten Anweisungen in PHP aus?

Linda Hamilton
Freigeben: 2024-11-01 17:03:30
Original
987 Leute haben es durchsucht

How to Execute a LIKE Query with PDO Prepared Statements in PHP?

PHP PDO Prepared Statement mit MySQL LIKE-Abfrage

Dieser Artikel befasst sich mit dem Problem der Verwendung der PDO-Klasse (MySQL-Treiber) von PHP zur Durchführung eines LIKE Abfrage mit einer MySQL-Datenbank.

Das Problem tritt auf, wenn versucht wird, LIKE mit vorbereiteten Anweisungen zu verwenden, da sich die in der PDO-Methode „execute()“ verwendete Syntax von der des MySQL-Clients unterscheidet.

Die falsche Syntax :

<code class="php">$ret = $prep->execute(array(':searchTerm' => '"%'.$searchTerm.'%"'));</code>
Nach dem Login kopieren

fügt unnötige doppelte Anführungszeichen hinzu, was zu falschen Ergebnissen führt.

Ebenso ist diese Syntax auch falsch:

<code class="php">$ret = $prep->execute(array(':searchTerm' => '%'.$searchTerm.'%'));</code>
Nach dem Login kopieren

da es an zusätzlicher Syntax mangelt, die für benötigt wird Vorbereitete Anweisungen.

Die korrekte Syntax zum Ausführen einer LIKE-Abfrage mit einer PDO-vorbereiteten Anweisung lautet:

<code class="php">$prep = $dbh->prepare($sql);
$ret = $prep->execute(array(':searchTerm' => '%'.$searchTerm.'%'));</code>
Nach dem Login kopieren

Vorbereitete Anweisungen bieten einen Vorteil gegenüber der Zeichenfolgenverkettung, da sie vor SQL-Injection schützen. Sie behandeln Werte als von der Abfrage getrennte Einheiten, sodass keine umständliche Verkettung erforderlich ist.

Das obige ist der detaillierte Inhalt vonWie führe ich eine LIKE-Abfrage mit PDO-vorbereiteten Anweisungen in PHP aus?. 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