IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

requête préparé insert [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 62
    Par défaut requête préparé insert
    Bonjour a tous,
    j'ais un retour d'erreur que je ne comprend pas très bien.
    j'aurais besoin de vous pour éclairer ma lanterne.

    Message d'erreur :

    Warning: PDO::prepare() [function.PDO-prepare]: 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 "ICI chemin du fichier" on line 5

    Fatal error: Call to a member function bindValue() on a non-object in "ICI chemin du fichier" on line 6


    code correspondants a l'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    	$cat = $connexion->prepare("SELECT nom FROM bra_cat WHERE name=:name ");
    	$cats -> bindValue("name", $_GET['cat']);
    	$cat -> execute();
    	$retour_cat = $cat -> fetch();

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    montre tout ton code

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 62
    Par défaut
    Le reste du code c'est du html donc peut d'importance je pense et modification c'est un SELECT et non un INSERT.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
     
    	$cat = $connexion->prepare("SELECT nom FROM bra_cat WHERE name=:name ");
    	$cats -> bindValue("name", $_GET['cat']);
    	$cat -> execute();
    	$retour_cat = $cat -> fetch();
     
    echo '<div id="haut_page">
    		<div id="titre_page">Vidéo de la '.$retour_cat['nom'].'</div>
    		</div>';
    ?>

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    j'en doute ou fais tu ta connexion ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 62
    Par défaut
    dans un fichier config qui fonctionne très bien habituellement je pense que sa vient de la config du serveur.
    les requêtes normal fonctionne mais les requêtes préparées rien a faire.

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 146
    Par défaut
    Après ta connexion et avant tes requêtes rajoute un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $connexion->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);

  7. #7
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    ouai mais doit y'avoir un endroit il a la pas fermer un statement, y'a un closeCursor a mettre quelque part

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 146
    Par défaut
    Je suppose qu'il est sous Windows avec un php non a jour d’où ma proposition simple

    Un autre palliatif consiste a mettre du fetchAll même pour 1 seul résultat mais c'est plus chiant pour avoir un code propre sur un serveur plus propre pour de la production.

    Après si le serveur n'est pas en cause effectivement il faut chercher les erreurs de code

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 62
    Par défaut
    voila le contenue de mon setAttribute avec l'ajout de PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true il me sort une nouvelle erreur
    concernant le setAttribute

    erreur setAttribute :
    Warning: PDO::setAttribute() expects exactly 2 parameters, 4 given in

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $connexion->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING, PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true );
    et pour le bindValue :

    Fatal error: Call to a member function bindValue() on a non-object in

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 62
    Par défaut
    plus d'info concernant le serveur .

    _PHP Version 5.1.6
    _Linux ZDPP001.local 2.6.18-238.19.1.el5 #1 SMP Fri Jul 15 07:32:29 EDT 2011 i686
    _PDO Driver for MySQL, client library version 5.0.77

  11. #11
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 146
    Par défaut
    Ha bah oui

    Laisse ton ancien setAttribute et rajoute une ligne en plus en dessous
    Tu ne peut paramétrer qu'un attribut a la fois.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $connexion->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
    $connexion->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);
    Edit : pour les versions effectivement il faudrait que tu passe en php 5.2.6 + pour corriger pas mal de soucis avec PDO.

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 62
    Par défaut
    merci a vous toujours l'erreur sur la requête mais je vais lui mettre a jour son serveur et sa devrait aller mieux

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Requête préparé et Insert Php mysql
    Par azrade dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 14/02/2013, 15h42
  2. Requête d'insertion dans une base ACCESS
    Par kurul1 dans le forum C++Builder
    Réponses: 5
    Dernier message: 02/11/2006, 17h41
  3. [Requête] Problème INSERT INTO
    Par lerico dans le forum Requêtes et SQL.
    Réponses: 22
    Dernier message: 10/01/2006, 17h12
  4. Optimisation d'une requête d'insertion
    Par fdraven dans le forum Oracle
    Réponses: 15
    Dernier message: 01/12/2005, 14h00
  5. Requête d'insertion multiple avec 1 valeur fixe
    Par [DreaMs] dans le forum Langage SQL
    Réponses: 2
    Dernier message: 01/12/2005, 09h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo