Heim  >  Artikel  >  Backend-Entwicklung  >  Wie binde ich Werte ordnungsgemäß mit dem LIKE-Operator in PDO?

Wie binde ich Werte ordnungsgemäß mit dem LIKE-Operator in PDO?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-14 11:10:01198Durchsuche

How to Properly Bind Values with LIKE Operator in PDO?

LIKE-Werte mit PDO-Erweiterung binden

Bei Datenbankabfragen mit dem LIKE-Operator ist es wichtig, Werte richtig zu binden, um SQL-Injection-Angriffe zu verhindern. Bei LIKE-Abfragen mit Platzhalterzeichen (% oder _) am Ende ist es wichtig, die entsprechende Bindungstechnik zu verstehen.

Betrachten wir die Beispielabfrage:

select wrd from tablename WHERE wrd LIKE '$partial%'

Hier wollen wir um die Variable $partial mit PDO zu binden. Der richtige Weg, dies zu tun, ist:

select wrd from tablename WHERE wrd LIKE :partial

wobei :partial an $partial mit dem Wert „somet%“ (mit dem abschließenden Platzhalter) gebunden ist. Dadurch wird sichergestellt, dass die Abfrage nach Wörtern sucht, die mit „somet“ übereinstimmen, gefolgt von einer beliebigen Anzahl von Zeichen.

Alternativ können Sie Folgendes verwenden:

SELECT wrd FROM tablename WHERE wrd LIKE CONCAT(:partial, '%')

um die Platzhalterverkettung in MySQL anstelle der PDO-Anweisung durchzuführen .

Wenn jedoch das Teilwort, nach dem Sie suchen, möglicherweise selbst Platzhalterzeichen (% oder _) oder Backslashes enthält, zusätzlich Bei der PDO-Vorbereitung und Parameterbindung können Escape-Mechanismen erforderlich sein.

Das obige ist der detaillierte Inhalt vonWie binde ich Werte ordnungsgemäß mit dem LIKE-Operator in PDO?. 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