Heim >Datenbank >MySQL-Tutorial >Wie verwende ich LIKE mit BindParam in MySQL-PDO-Abfragen richtig?

Wie verwende ich LIKE mit BindParam in MySQL-PDO-Abfragen richtig?

Susan Sarandon
Susan SarandonOriginal
2024-11-08 22:10:021015Durchsuche

How to Correctly Use LIKE with BindParam in MySQL PDO Queries?

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!

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