Binden von LIKE-Werten in PDO
Bei der Verwendung von LIKE-Abfragen in PDO ist es wichtig zu verstehen, wie der Suchwert korrekt gebunden wird, um unerwartete Ereignisse zu vermeiden Ergebnisse.
Bindung mit teilweiser Übereinstimmung
An Um eine Teilübereinstimmung zu binden, können Sie die folgende Syntax verwenden:
SELECT wrd FROM tablename WHERE wrd LIKE :partial
Binden Sie den Parameter :partial an den Teilwert, nach dem Sie suchen möchten. Wenn Sie beispielsweise $partial = „somet“ haben, würden Sie es wie folgt binden:
$stmt->bindParam(':partial', $partial);
Bindung mit Platzhalter
Um eine teilweise Übereinstimmung mit a zu binden Wenn Sie am Ende ein Platzhalterzeichen einfügen, können Sie eine dieser Methoden verwenden:
PDO-generiert Platzhalter:
Verwenden Sie die folgende Syntax:
SELECT wrd FROM tablename WHERE wrd LIKE ':partial%'
Binden Sie den Parameter :partial an den Teilwert ohne Platzhalter.
SQL-generierter Platzhalter:
Verwenden Sie Folgendes Syntax:
SELECT wrd FROM tablename WHERE wrd LIKE CONCAT(:partial, '%')
Binden Sie den Parameter :partial an den Teilwert ohne Platzhalter.
Komplexe LIKE-Abfragen
Wenn der Teilwert Sonderzeichen wie %, _ oder enthält, müssen Sie diese maskieren, um unbeabsichtigte Ergebnisse zu verhindern. Verwenden Sie den folgenden Code:
$stmt = $db->prepare("SELECT wrd FROM tablename WHERE wrd LIKE :term ESCAPE '+'"); $escaped = str_replace(array('+', '%', '_'), array('++', '+%', '+_'), $var); $stmt->bindParam(':term', $escaped);
Indem Sie diese Richtlinien befolgen, können Sie LIKE-Werte effektiv in Ihren PDO-Abfragen binden.
Das obige ist der detaillierte Inhalt vonWie bindet man LIKE-Werte effektiv in PDO-Abfragen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!