[PHP 5] Probleme de requete
Résolu/Fermé
Drewman
-
26 juil. 2007 à 18:00
Drewman Messages postés 3 Date d'inscription jeudi 26 juillet 2007 Statut Membre Dernière intervention 27 juillet 2007 - 27 juil. 2007 à 17:15
Drewman Messages postés 3 Date d'inscription jeudi 26 juillet 2007 Statut Membre Dernière intervention 27 juillet 2007 - 27 juil. 2007 à 17:15
A voir également:
- Cannot execute queries while other unbuffered queries are active
- Resultat loto 5/90 ✓ - Forum Excel
- Glary utilities 5 gratuit - Télécharger - Nettoyage
- Tableau de combinaison loto 5/90 - Forum Logiciels
- Retour a la ligne php ✓ - Forum PHP
- Sirène pompiers 5 fois signification ✓ - Forum Loisirs / Divertissements
6 réponses
A la place de:
$sql = "SELECT `poste_deb`, `poste_fin` FROM `dossiers` WHERE `designation` = '".$_SESSION['log'][2]."'";
essayes:
$sql = "SELECT `poste_deb`, `poste_fin` FROM `dossiers` WHERE `designation` = '".$_SESSION['log'][2]."'";
essayes:
$sql = "SELECT poste_deb, poste_fin FROM dossiers WHERE designation='".$_SESSION['log'][2]."' " ; echo "Requette: ".$sql; // pour voir $query = $PDO->query($sql) or die (mysql_error()); // pour voir l'erreur renvoyée
Drewman
Messages postés
3
Date d'inscription
jeudi 26 juillet 2007
Statut
Membre
Dernière intervention
27 juillet 2007
3
27 juil. 2007 à 12:26
27 juil. 2007 à 12:26
J'ai affiché PDO::errorCode() et PDO::errorInfo() pour voir
Voilà ce qu'il me retourne :
Code : 00000
Code driver : 2014
Message :
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.
Voilà ce qu'il me retourne :
Code : 00000
Code driver : 2014
Message :
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.
Drewman
Messages postés
3
Date d'inscription
jeudi 26 juillet 2007
Statut
Membre
Dernière intervention
27 juillet 2007
3
27 juil. 2007 à 17:15
27 juil. 2007 à 17:15
J'ai reglé mon problème en début d'après midi grâce à ce message d'erreur. J'ai rajouté dans mon fichier de connexion la ligne suivante :
$PDO->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);
L'autre solution était de mettre des closeCursor(); de partout après chaque fin de fetch();
Surement mieux niveau portabilité mais très agaçant ^^
En tout cas problème reglé.
$PDO->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);
L'autre solution était de mettre des closeCursor(); de partout après chaque fin de fetch();
Surement mieux niveau portabilité mais très agaçant ^^
En tout cas problème reglé.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Alors, j'ai écrit ce message en toute hâte en partant du boulot, voilà un peu plus d'explications :
- la table dossiers contient les champs suivants :
- ma variable de session $_SESSION['log'][2] contient "LAP"
Mon ancien code était constitué des commandes mysql classiques et fonctionnait parfaitement
Ce n'est donc je pense pas un problème de guillemets ou de syntaxe de la requête.
PDO en théorie se révèle extrèmement interessant, mais en pratique sur l'intégralité de mon site j'ai du faire des arrangements pour faire fonctionner le tout (je pense par exemple à $foo->fetchAll() pour pouvoir inclure deux requêtes dans deux boucles imbriquées, enfin ce n'est pas le problème ici.)
Donc pour te répondre Alain, non je ne crois pas que ça vienne de ça, j'ai bien regardé ma requête sous toutes les coutures et je ne vois pas.
- la table dossiers contient les champs suivants :
ID | ... | poste_deb | poste_fin | designation | ---------------------------------------------------------------- 24 | ... | 10 | 44 | LAP |
- ma variable de session $_SESSION['log'][2] contient "LAP"
Mon ancien code était constitué des commandes mysql classiques et fonctionnait parfaitement
$query = mysql_query($sql, $connexion); $resu = mysql_fetch_assoc($query);
Ce n'est donc je pense pas un problème de guillemets ou de syntaxe de la requête.
PDO en théorie se révèle extrèmement interessant, mais en pratique sur l'intégralité de mon site j'ai du faire des arrangements pour faire fonctionner le tout (je pense par exemple à $foo->fetchAll() pour pouvoir inclure deux requêtes dans deux boucles imbriquées, enfin ce n'est pas le problème ici.)
Donc pour te répondre Alain, non je ne crois pas que ça vienne de ça, j'ai bien regardé ma requête sous toutes les coutures et je ne vois pas.
Drewman
Messages postés
3
Date d'inscription
jeudi 26 juillet 2007
Statut
Membre
Dernière intervention
27 juillet 2007
3
27 juil. 2007 à 10:09
27 juil. 2007 à 10:09
Non ça ne fonctionne toujours pas, il passe dans le or die mais ne m'affiche pas l'erreur mysql. Mais je crois que cette commande ne fonctionne pas avec PDO.
Donc ce n'est clairement pas une question de guillemets, j'ai même remplacé '".$_SESSION['log'][2]."' par une valeur en dur mais toujours rien, ma requête est correcte.
Y aurait-il une histoire de buffer ou autre à vider avant, qui pourrait causer l'erreur ?
Donc ce n'est clairement pas une question de guillemets, j'ai même remplacé '".$_SESSION['log'][2]."' par une valeur en dur mais toujours rien, ma requête est correcte.
Y aurait-il une histoire de buffer ou autre à vider avant, qui pourrait causer l'erreur ?