pdo prepared statements mit Platzhaltern
Ich möchten, führen Sie die folgende mysql-Abfrage:
SELECT * FROM `gc_users` WHERE `name` LIKE '%anyname%'
Ich versuchte dies ohne Erfolg:
$stmt = $dbh->prepare("SELECT * FROM `gc_users` WHERE `name` LIKE :name");
$stmt->bindParam(':name', "%" . $name . "%");
$stmt->execute();
$stmt = $dbh->prepare("SELECT * FROM `gc_users` WHERE `name` LIKE '%:name%'");
$stmt->bindParam(':name', $name);
$stmt->execute();
Also Frage ich Euch ob es möglich ist, verwenden Sie den Platzhalter % mit vorbereiteten Anweisungen sind.
/edit
Danke. Seine arbeiten mit bindValue
:
$stmt = $dbh->prepare("SELECT * FROM `gc_users` WHERE `name` LIKE :name");
$stmt->bindValue(':name', '%' . $name . '%');
$stmt->execute();
- Wie bei deinem ersten Versuch - ändern
bindParam
zubindValue
und wiederum Meldung PDO
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es kann mit bind-param auch in der folgenden Weise:
$name
enthält einen Platzhalter selbst, ist es nicht entgangen.Könnte dies eine alternative sein: