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>
Erklärung:
<code class="php">WHERE hs.hs_text LIKE :searchTerm</code>
Und die vorbereitete Anweisung sollte wie folgt ausgeführt werden:
<code class="php">$ret = $prep->execute(array(':searchTerm' => '%' . $searchTerm . '%'));</code>
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!