Srcipt php pour les requetes sql imbriquées

Résolu/Fermé
OussH. Messages postés 29 Date d'inscription mardi 22 mars 2016 Statut Membre Dernière intervention 11 juin 2016 - Modifié par OussH. le 31/03/2016 à 12:08
OussH. Messages postés 29 Date d'inscription mardi 22 mars 2016 Statut Membre Dernière intervention 11 juin 2016 - 1 avril 2016 à 17:16
Bonjour,
Je sais pas pourquoi les requetes SQL imbriquées ne marchent pas dans les script PHP.
J'ai utilisé une requetre de ce genre sur PHPMyAdmin avec succès, mais dans un script PHP non
Voici mon fragement de code.
Si vous trouverez une erreur quelque part dites le moi SVP !!
<?php 
    $req001 = $bdd->prepare('SELECT designation FROM familleproduit WHERE id=(SELECT Fam_id FROM familleproduit WHERE id=?)');
    $req001 = execute(array($donnees1['Fam_id']));
    while($donnees001 = $req001->fetch())
    {
       echo $donnees001['designation'];
    }
    ?>


PS: Je sais que je dois utilisé du SQLI.

1 réponse

Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
Modifié par Pitet le 1/04/2016 à 12:33
Salut,

Tu n'utilise pas la méthode prepare correctement :
$req001 = $bdd->prepare('SELECT designation FROM familleproduit WHERE id=(SELECT Fam_id FROM familleproduit WHERE id=?)');
$req001->execute(array($donnees1['Fam_id']));
while($donnees001 = $req001->fetch())


https://www.php.net/manual/fr/pdo.prepare.php

Bonne journée
1
OussH. Messages postés 29 Date d'inscription mardi 22 mars 2016 Statut Membre Dernière intervention 11 juin 2016 1
1 avril 2016 à 15:41
Salut,

Peux-tu me dire comment ma méthode PREPARE n'est pas correcte et à quel niveau ?

PS: C'est la première fois qu'on me dise ca :p
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
1 avril 2016 à 16:33
As tu comparer ton code avec celui de mon message ?
La documentation propose également des exemples clairs.
0
OussH. Messages postés 29 Date d'inscription mardi 22 mars 2016 Statut Membre Dernière intervention 11 juin 2016 1
1 avril 2016 à 16:46
J pas tout lu vu qu'on je suis un peu pris par le temps mais ce que j'ai remarqué c qu'il utilisent des paramètres facultatifs et qu'à la place de mettre fetch_all j préfère utiliser un while.
Eclaire moi si j mal compris STP.
J'utilise tjrs ce fragement et ca a tjrs marché. Mais avec une requete imbriqué ca marche pas
0
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 525
1 avril 2016 à 16:52
// ton code :
$req001 = execute(array($donnees1['Fam_id']));
// est différent de 
$req001->execute(array($donnees1['Fam_id']));


Je ne sais pas comment faire plus simple.
0
OussH. Messages postés 29 Date d'inscription mardi 22 mars 2016 Statut Membre Dernière intervention 11 juin 2016 1
1 avril 2016 à 17:16
Ahhh je suis vraiement DSL je sais pas pkoi j mis ce code comme ca. t'as raison !!
Normalement j mais avec -> pas =
Merci pour la réctif.
0