Possible en double:
How do I create a PDO parameterized query with a LIKE statement in PHP?
PHP PDO prepared statement — mysql LIKE queryrequêtes paramétrées PHP/MySQL
Je suis en train de faire un moteur de recherche pour mon site, et en ce moment je suis juste essayer pour s'assurer que la connexion est tout et bien. Voici mon code jusqu'ici:
CODE RÉVISÉ (ne fonctionne toujours pas, mais voici où je suis avec les suggestions à ce jour):
$db = new PDO("mysql:host=".DB_SERVER.";dbname=".DB_NAME, DB_USER, DB_PASS);
$stmt = $db->prepare("SELECT * FROM table_1 WHERE name LIKE ? ORDER BY bid DESC");
$stmt->bindParam(1, "%{$_GET['s']}%", PDO::PARAM_STR);
$stmt->execute();
$rows = $stmt->fetchAll();
J'ai essayé de voir si les différents méthodes de execute
feraient n'importe quoi, mais indépendamment de quelle manière ci-dessus je l'écris, je reçois le même résultat, rien. Je veux le caractère générique %
là-dedans, donc il va chercher n'importe où dans name
. Sur cette note, est-ce que je l'utilise correctement? Ce qui me rend le plus perplexe, c'est que lorsque je tape exactement la même requête dans PHPMyAdmin, la requête fonctionne bien, donc je suppose que je suis en train de ficher le PDO quelque part.
EDIT: PHPMyAdmin Requête:
SELECT * DE TABLE_1 WHERE nom LIKE '% Test%' DE COMMANDE PAR offre DESC LIMIT 0, 30
Ce rendement 1 résultat, comme prévu. Qu'est-ce qui différencie mon code et cette requête? :/
@Matt En ce qui concerne votre montage: ma réponse éditée devrait l'expliquer. – middus
@Matt Non, maintenant vous avez ajouté des guillemets autour du '?'. Ne pas. Je viens d'ajouter la bonne réponse à ma réponse pour plus de clarté. – middus
Ya je me suis rendu compte que j'avais cela dans le post, le code n'a pas; ne fonctionne toujours pas. – Matt