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
Linda HamiltonOriginal
2024-11-01 17:03:30967Durchsuche

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>

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>

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>

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!

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