voglio eseguire la seguente query mysql:DOP istruzioni preparate con caratteri jolly
SELECT * FROM `gc_users` WHERE `name` LIKE '%anyname%'
Ho provato questo senza successo:
$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();
Quindi vi chiedo se è possibile utilizzare il carattere jolly% con dichiarazioni preparate.
/edit
Grazie. Il suo lavoro con bindValue
:
$stmt = $dbh->prepare("SELECT * FROM `gc_users` WHERE `name` LIKE :name");
$stmt->bindValue(':name', '%' . $name . '%');
$stmt->execute();
Per quanto riguarda il primo tentativo - il cambiamento ' bindParam' to 'bindValue' e attiva [segnalazione degli errori per PDO] (http://stackoverflow.com/questions/15990857/reference-frequery-asked-questions-about-pdo#15990858) –