Comment faire une insertion avec des requetes preparer

Résolu
liva -  
 Utilisateur anonyme -
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
 
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