8768 sujets

Développement web côté serveur, CMS

Bonjour,

J'ai une requête préparé qui fonctionne bien, mais à première vue elle ne serait pas si préparé que ça.

Je bloque avec la mention like "%".

Voici mon code :
$req = $connexion->prepare("SELECT l,d,p,s FROM Articles WHERE l LIKE '%".($_POST['l'])."%' Order by l Asc ");

$req->execute(array(
   "l" => $l
));


Ca fonctionne mais je ne suis pas sur que je sois protéger contre les injections SQL avec ma version.

Merci de vos conseils.
Modifié par Tintin75 (12 Feb 2016 - 08:46)
$req = $connexion->prepare("SELECT l,d,p,s FROM Articles WHERE l LIKE '%' .l = :l. '%' Order by d Asc ");
$req->execute(array(
   "l" => $_POST['l'] 
));


Ca fonctionne pas Smiley bawling
Bonjour,

Je n'ai pas testé, mais ça ne serait plus un truc du genre ?
$req = $connexion->prepare("SELECT l,d,p,s FROM Articles WHERE l LIKE '%:l%' ORDER BY d ASC");
$req->execute( array(":l" => $_POST['l']) );