cela fait plusieurs jours que je cherche et je ne trouve pas le probleme, car je dois faire fonctionner mon probleme pour lundi matin
Je m'explique
Je veux afficher dans toutes les lignes, une liste déroulante qui s'allimente automatiquement avec une table de critere
Je fournis juste la partie qui me pose probleme car quand j'enleve cette liste déroulante, le resultat fonctionne.
voici mon source :
<?php
$serveur = "localhost";
$user = "root";
$passwd = "";
$bdd = "essai";
$port='3306';
$cnx = new PDO('mysql:host='.$serveur.';port='.$port.';dbname='.$bdd, $user, $passwd);
$cnx->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql="SELECT carnet_details.idcarnet,carnet_details.id as idtmp,carnet_details.idrubrique,carnet_details.observation,carnet.id,carnet.carnetclef
FROM carnet,carnet_details
WHERE carnet.id=carnet_details.idcarnet AND carnet.id='2' ";
$qid=$cnx->prepare($sql);
$qid->execute();
while ($row=$qid->fetch(PDO::FETCH_ASSOC))
{
$sql="SELECT COUNT(*) FROM rubrique WHERE iduser='1' ORDER BY nom";
$rubrique=$cnx->prepare($sql);
$rubrique->execute();
if ($rubrique->fetchColumn()>0)
{
$sql="SELECT id,iduser,nom FROM rubrique WHERE iduser='1' ORDER BY nom";
$rubrique=$cnx->prepare($sql);
$rubrique->execute();
echo "<select name=\"idrubrique[]\">";
echo ligne_selected(" ","-1",$frm['idrubrique'][$i]);
while( $row2=$rubrique->fetch(PDO::FETCH_ASSOC) )
{
echo "<option value=".$row2['id'];
if ($row2['id']==$row['idrubrique']) echo " SELECTED ";
echo ">".$row2['nom']."</option>";
}
echo "</select>";
}
}
?>
et j'obtiens le résultat suivant :
Code : Tout sélectionner
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 2014 Cannot execute queries while other unbuffered queries are active. Consider using PDOStatement::fetchAll(). Alternatively, if your code is only ever going to run against mysql, you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.' in L:\www\application\essai.php:98 Stack trace: #0 L:\www\application\essai.php(98): PDOStatement->execute() #1 {main} thrown in L:\www\application\essai.php on line 98
l'erreur pointe sur le 1er $rubrique->execute();
Merci par avance