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 :

Exécution de deux requêtes [PDO]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Homme Profil pro
    employé
    Inscrit en
    Février 2020
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : employé
    Secteur : Transports

    Informations forums :
    Inscription : Février 2020
    Messages : 17
    Par défaut Exécution de deux requêtes
    Bonjour le forum,
    Voila mon souci, j'ai plusieurs script php pour exécuter des requêtes PDO sur ma BDD. Ils fonctionnent tous indépendamment, mais lorsque je veux les inclure dans ma page, seul le premier s'exécute et ça quelque soit l'ordre dans lequel je les écrits.
    J'ai eu beau fouiller les forums et des recherches sur google, à priori, il y aurait une fonction à appliquer sur mon script de connexion.
    Pour être honnête, j'ai vu qu'il y en avait un certain nombre (voire un nombre certain) et j'ai peur d'être passé à coté.
    Je joint mon script de connexion:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    try {
    	$bd = new PDO('mysql:host=localhost;dbname=coffre;charset=utf8', 'root', 'root');
    	$bd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    	}
    catch(PDOException $e)
    {
            echo'Erreur : ' .$e->getMessage();
    }
    Merci de m'indiquer de quel setAttribute j'aurais besoin et en comprendre l'utilité.
    PS: Prenez soin de vous et de vos proches !

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    salut,

    poste voir au moins deux scripts qui s'exécutent indépendamment et surtout poste aussi le script qui ne fonctionne pas.

  3. #3
    Membre averti
    Homme Profil pro
    employé
    Inscrit en
    Février 2020
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : employé
    Secteur : Transports

    Informations forums :
    Inscription : Février 2020
    Messages : 17
    Par défaut
    Merci rawsrc
    Pour commencer et dans la même page j'ai déclaré mes variables puis ouvert la connexion à ma BDD
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $idJ = $_SESSION['id'];
    $nom1 = $_SESSION['nom'];
    $prenom1 = $_SESSION['prenom'];
    $date_jeu =date('d-m-Y H:i:s');
    $lot1 = '<script type="text/javascript">document.write(lot1);</script>';
    $solution = '<script type="text/javascript">document.write(num);</script>'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    try {
    	$bd = new PDO('mysql:host=localhost;dbname=coffre;charset=utf8', 'root', 'root');
    	$bd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    	}
    catch(PDOException $e)
    {
            echo'Erreur : ' .$e->getMessage();
    }
    Plus loin dans mon code, je fais une première requête dans un paragraphe.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <p> Total de votre butin :
    	<?php 
    		$reponse = $bd->query('SELECT SUM(lingots) AS total FROM jeu_1 WHERE id_joueur');
    		while($butin=$reponse->fetch()) {
    		 echo $butin['total'];
    		}
    		$reponse->closeCursor();
    	?> Lingots
    </p>
    Puis encore plus loin dans ma page, je fais ma seconde requête
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $req = $bd->prepare("INSERT INTO jeu_1 (nom, prenom, id_joueur, date_jeu)
    		VALUES (:nom, :prenom, :id_joueur, :date_jeu) ");
    		$req->bindParam(':nom', $nom);
    		$req->bindParam(':prenom', $prenom);
    		$req->bindParam(':id_joueur', $id_joueur);
                    $req->bindParam(':date_jeu', $date_jeu);
    		$req->execute();
    		$req->closeCursor();
    Le fait est que la première fonctionne et que si le les interverties, la seconde qui passe alors en première position fonctionne.
    J'ai aussi essayé de faire une déconnexion à ma BDD entre les deux, mais rien n'y fait. Je suis dans l'impasse !

  4. #4
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    euh il ne te manquerait pas la fin de la requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $reponse = $bd->query('SELECT SUM(lingots) AS total FROM jeu_1 WHERE id_joueur');
    tu sais : finir le code après le WHERE.

  5. #5
    Membre averti
    Homme Profil pro
    employé
    Inscrit en
    Février 2020
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : employé
    Secteur : Transports

    Informations forums :
    Inscription : Février 2020
    Messages : 17
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $reponse = $bd->query('SELECT SUM(lingots) AS total FROM jeu_1 WHERE id_joueur'.$idJ.' ');
    OUI, ça devait être comme cela, sauf que le code ne marche plus.

  6. #6
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    ok montre ce que te renvoie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo 'SELECT SUM(lingots) AS total FROM jeu_1 WHERE id_joueur'.$idJ

  7. #7
    Membre averti
    Homme Profil pro
    employé
    Inscrit en
    Février 2020
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : employé
    Secteur : Transports

    Informations forums :
    Inscription : Février 2020
    Messages : 17
    Par défaut
    Désolé, c'est moi qui me suis trompé dans ma dernière variable.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $reponse = $bd->query('SELECT SUM(lingots) AS total FROM jeu_1 WHERE id_joueur'.$id_joueur.'');
    J'avais pris la variable d'une autre page. Du coup, les 2 fonctionnent.
    Un grand merci pour ton aide et bonne soirée.

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

Discussions similaires

  1. Problème d'exécution de formulaire de requête sur un serveur
    Par Sherman750 dans le forum VBA Access
    Réponses: 1
    Dernier message: 08/12/2012, 05h53
  2. Problème d'exécution sur les 64 bits
    Par managbe dans le forum Bases de données
    Réponses: 2
    Dernier message: 18/08/2010, 17h10
  3. [Compiler] Problème d'exécution sur la machine cible
    Par totoysawa dans le forum MATLAB
    Réponses: 8
    Dernier message: 13/07/2009, 16h35
  4. Problème d'exécution sur un OnMouseWheel
    Par Omeggg dans le forum Composants VCL
    Réponses: 7
    Dernier message: 15/04/2006, 18h24

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