Heim >Datenbank >MySQL-Tutorial >Wie verwende ich LIKE mit BindParam in MySQL-PDO-Abfragen richtig?
Richtige Verwendung von LIKE mit BindParam in MySQL-PDO-Abfragen
Beim Versuch, LIKE-Suchen mit bindParam in MySQL-PDO-Abfragen durchzuführen, ist die Verwendung unbedingt erforderlich die richtige Syntax, um genaue Ergebnisse zu gewährleisten.
Optimierte Syntax
Um Benutzernamen, die mit „a“ beginnen, mit bindParam abzugleichen, lautet die richtige Syntax:
$term = "a%";
Im Gegensatz dazu ist die in der ursprünglichen Frage angegebene Syntax „$term = „‘$term%‘“ falsch, da sie unnötige innere einfache Anführungszeichen um den $term-Wert setzt, was dazu führen würde, dass nach „a%“ gesucht wird. ' anstelle eines %.
Rolle von bindParam
bindParam ist dafür verantwortlich, Zeichenfolgendaten automatisch in Anführungszeichen zu setzen, wenn sie in SQL-Anweisungen eingefügt werden. Daher ist das manuelle Anhängen von einfachen Anführungszeichen nicht erforderlich und kann zu falschen Ergebnissen führen.
Überarbeiteter Code
Bei Verwendung der optimierten Syntax wäre der überarbeitete Code:
$term = "a%"; $sql = "SELECT username FROM `user` WHERE username LIKE :term LIMIT 10"; $core = Connect::getInstance(); $stmt = $core->dbh->prepare($sql); $stmt->bindParam(':term', $term, PDO::PARAM_STR); $stmt->execute(); $data = $stmt->fetchAll();
Das obige ist der detaillierte Inhalt vonWie verwende ich LIKE mit BindParam in MySQL-PDO-Abfragen richtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!