Heim >Backend-Entwicklung >PHP-Tutorial >So verwenden Sie Platzhalter mit vorbereiteten PDO-Anweisungen: Ein Leitfaden zur Vermeidung häufiger Fallstricke?
PDO-vorbereitete Anweisungen mit Wildcard-Unterstützung
Vorbereitete Anweisungen bieten verbesserte Sicherheit und Leistung für Datenbankabfragen, indem sie SQL-Injection-Angriffe verhindern. Allerdings kann die Verwendung von Platzhaltern mit vorbereiteten Anweisungen eine Herausforderung darstellen.
In Ihrem Fall haben Sie versucht, eine Abfrage wie folgt auszuführen:
<code class="sql">SELECT * FROM `gc_users` WHERE `name` LIKE '%anyname%'</code>
Sie haben versucht, den Parameter mit „%:name“ zu binden %'- und ':name'-Methoden, aber beide sind fehlgeschlagen. So können Sie Platzhalter mit vorbereiteten Anweisungen verwenden:
BindValue verwenden:
Sie können bindValue verwenden, um die Platzhalterparameter korrekt zu binden:
<code class="php">$stmt = $dbh->prepare("SELECT * FROM `gc_users` WHERE `name` LIKE :name"); $stmt->bindValue(':name', '%' . $name . '%'); $stmt->execute();</code>
Verwendung von bindParam (modifiziert):
Zusätzlich können Sie bindParam auch mit einer leichten Modifikation verwenden:
<code class="php">$name = "%$name%"; $query = $dbh->prepare("SELECT * FROM `gc_users` WHERE `name` like :name"); $query->bindParam(':name', $name); $query->execute();</code>
Das obige ist der detaillierte Inhalt vonSo verwenden Sie Platzhalter mit vorbereiteten PDO-Anweisungen: Ein Leitfaden zur Vermeidung häufiger Fallstricke?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!