Wie verwende ich PDO-vorbereitete Anweisungen korrekt für MySQL-LIKE-Abfragen?

Susan Sarandon
Freigeben: 2024-10-31 02:05:29
Original
336 Leute haben es durchsucht

How to Correctly Use PDO Prepared Statements for MySQL LIKE Queries?

PHP PDO Prepared Statement: MySQL LIKE-Abfrage

Beim Durchführen einer LIKE-Abfrage mit der PDO-Klasse von PHP ist es wichtig, den LIKE-Operator korrekt zu verarbeiten und bereiten Sie die Anweisung ordnungsgemäß vor.

Problem: Im bereitgestellten Code funktionierte die ursprüngliche Abfrage mit dem MySQL-Client, bei der Migration zu PHP traten jedoch Probleme auf.

Lösung: Der Fehler liegt in der WHERE-Klausel innerhalb der Prepare-Methode. Die folgenden Zeilen sind falsch:

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

Erklärung:

  • Vorbereitete Anweisungen: Sie transportieren Daten getrennt von der Abfrage und machen so Anführungszeichen sind beim Einbetten von Werten nicht erforderlich.
  • LIKE-Operator: Erfordert ein Platzhalterzeichen wie % oder _, um beliebige Zeichenfolgen darzustellen.
  • Korrekte Abfrage: Die korrekte WHERE-Klausel sollte lauten:
<code class="php">WHERE hs.hs_text LIKE :searchTerm</code>
Nach dem Login kopieren

Und die vorbereitete Anweisung sollte wie folgt ausgeführt werden:

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

Jetzt sollte die Abfrage die gewünschten Ergebnisse zurückgeben .

Das obige ist der detaillierte Inhalt vonWie verwende ich PDO-vorbereitete Anweisungen korrekt für MySQL-LIKE-Abfragen?. 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