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!