Comment faire une insertion avec des requetes preparer

Résolu/Fermé
liva - Modifié par jordane45 le 5/02/2016 à 00:49
 Utilisateur anonyme - 5 févr. 2016 à 00:11
Bonjour,
voici une extrait de mon code qui ne marche pas
$conn = new PDO('mysql:host=localhost;dbname=dico','root','');
$req = $conn->prepare("SELECT * FROM citation WHERE texte LIKE('%?%') ");
$req->execute(array($_POST['motcle']));//


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.
A voir également:

1 réponse

Utilisateur anonyme
5 févr. 2016 à 00:11
Bonjour

Le ? ne peut pas être mis n'importe où dans une requête préparée. Il ne peut pas être juxtaposé à d"autres caractères en espérant que ça va faire une concaténation.
Par contre, tu peux très bien concaténer les "%" à une chaîne en php pour obtenir la valeur correspondant au ? :
$req = $conn->prepare("SELECT * FROM citation WHERE texte LIKE ? "); 
$req->execute(array('%'.$_POST['motcle'].'%'));//
0