Methode Prepare vers Bdd custom, help

Fermé
freelanco Messages postés 6 Date d'inscription samedi 12 avril 2014 Statut Membre Dernière intervention 9 juin 2014 - Modifié par freelanco le 9/06/2014 à 15:06
freelanco Messages postés 6 Date d'inscription samedi 12 avril 2014 Statut Membre Dernière intervention 9 juin 2014 - 9 juin 2014 à 17:44
Bonjour,

j'utilise une méthode prépare qui marche bien, mais j'y ai ajouté un nouveau champ qui doit contenir l'ID d'une autre table si le booleen (using) est à 1.
Le SQL marche nickel mais c'est lors de l'intregration au php que plus rien ne marche.

requette d'origine :
$req = $bdd->prepare("INSERT INTO selector(NameProducto, ImgProducto, NBRfiltros) VALUES(?,?,?)");
 $req->execute(array($_POST['NOMBREcategoria'. $cpt], $_POST['FONDOcategorias'. $cpt], $_POST['QTcategoria'. $cpt]));


requette custom (qui ne marche pas):
$req = $bdd->prepare('INSERT INTO selector(NameProducto, ImgProducto, NBRfiltros, IDdsitio) VALUES(?,?,?,SELECT 'IDsite' FROM 'sitio' WHERE 'using'=1');
$req->execute(array($_POST['NOMBREcategoria'. $cpt], $_POST['FONDOcategorias'. $cpt], $_POST['QTcategoria'. $cpt]));


Je ne sais pas si ma syntaxe est fausse ou si je m'y prend mal :/

Merci d'avance pour votre aide ! :)

2 réponses

freelanco Messages postés 6 Date d'inscription samedi 12 avril 2014 Statut Membre Dernière intervention 9 juin 2014 1
9 juin 2014 à 17:44
OK j'ai trouvé mon erreur, il fallait simplement mettre des parenthèses autour de l'instruction SQL du custom se qui donne ce résultat :


$req = $bdd->prepare('INSERT INTO selector(NameProducto, ImgProducto, NBRfiltros, IDdsitio) VALUES(?,?,?,(SELECT 'IDsite' FROM 'sitio' WHERE 'using'=1)');
1
Je ne sais pas si ce type de requête fonctionne, je ne suis pas un spécialise du PDO, cependant, la seule différence notable, ce sont l'usage des guillemets dans "celle qui marche" et les apostrophes dans "celle qui ne marche pas"
0