Bonjour à tous,
J'essaie de créer une sous-requête SQL au sein d'une boucle "while" d'une requête SQL principale. Je sais qu'il ne faut pas trop procéder comme ça mais je n'ai pas trouvé d'autres solutions.
Ma sous-requête se présente sous cette forme :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 $reponse2 = $bdd->prepare("SELECT * FROM table1 WHERE nom_colonne1 = $variable_reponse1"); $reponse2->execute(); while ($donnees2 = $reponse2->fetch()){ $var1 = $donnees2["nom_colonne2"]; $var2 = $donnees2["nom_colonne3"]; }
La variable $variable_reponse1 provient de la requête SQL principale dans laquelle est imbriquée cette sous-requête.
Dans le principe, la requête principale me liste des données contenues dans une table historique. Lors de la boucle "while" qui va afficher ces résultats, j'interroge une autre table matériel pour définir pour chaque ligne de l'historique, à quel matériel est lié la ligne qui sera affichée. Le lien entre ces deux tables peut uniquement être fait par un code unique matériel qui n’apparaît qu'une fois dans la table matériel mais plusieurs fois dans la table historique.
Quand j'exécute mon code, j'ai l'erreur suivante : "Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax;".
En espérant que ce soit assez clair.
Merci pour votre aide.
@+
Partager