Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie Platzhalter mit vorbereiteten PDO-Anweisungen: Ein Leitfaden zur Vermeidung häufiger Fallstricke?

So verwenden Sie Platzhalter mit vorbereiteten PDO-Anweisungen: Ein Leitfaden zur Vermeidung häufiger Fallstricke?

DDD
DDDOriginal
2024-10-28 13:52:01172Durchsuche

How to Use Wildcards with PDO Prepared Statements: A Guide to Avoiding Common Pitfalls?

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!

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