Verwendung von LIKE in bindParam für eine MySQL-PDO-Abfrage (behoben)
Der LIKE-Operator von MySQL ermöglicht den Mustervergleich in Abfragen. Wenn Sie bindParam verwenden, um Werte für den Mustervergleich zu übergeben, ist es wichtig, die Werte richtig zu formatieren, um sicherzustellen, dass die Abfrage wie erwartet ausgeführt wird.
Erwägen Sie eine Abfrage, um Benutzernamen zu finden, die mit dem Buchstaben „a“ beginnen:
SELECT username FROM `user` WHERE username LIKE :term LIMIT 10
Bei Verwendung von bindParam für den :term-Platzhalter muss der Wert als String übergeben werden. Wenn Sie jedoch einfache Anführungszeichen innerhalb der Zeichenfolge hinzufügen, führt dies dazu, dass die Abfrage mit dem Literalwert „'a%'“ statt mit „a%“ übereinstimmt.
Um dieses Problem zu beheben, lassen Sie einfach die inneren einfachen Anführungszeichen weg :
$term = "a"; $term = "$term%";
Dadurch wird sichergestellt, dass der bindParam-Wert als richtiges Zeichenfolgenmuster übergeben wird, das effektiv in der LIKE-Klausel verwendet werden kann.
Das obige ist der detaillierte Inhalt vonWie verwende ich LIKE mit bindParam in MySQL-PDO-Abfragen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!