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éparer et affichage


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2019
    Messages : 22
    Par défaut Requête Préparer et affichage
    Bonjour à tous, je suis actuellement en BTS SIO et j'aurai besoin de votre aide sur une requête préparer.

    Avant j’était sous WAMP et ma requête fonctionnait parfaitement, actuellement j'ai installé moi-même PHPMyAdmin; Apache ainsi que Mysql et celle-ci ne fonctionne plus, lorsque je l'a fait une page blanche apparaît, et lorsque je remplis le champs "WHERE" par une valeur il m'affiche une erreur pourtant la requête quand je l'a test dans PHPMyAdmin m'affiche les données à retourner.

    Voici la requête préparer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    //Connexion BDD
    $con = mysqli_connect("localhost", "root", "", "qualitech");
    //Requete Preparer pour afficher les info de la Piece & Machine
    $req = $con->prepare('SELECT s.*, p.*, v.*, q.*, l.*, t.*, GROUP_CONCAT(DISTINCT p.nom) as referent_nom
    FROM stock s
    LEFT JOIN valider v ON s.idRefPiece = v.idRefPiece
    LEFT JOIN qualifier q ON s.idRefPiece = q.idRefPiece
    LEFT JOIN personnel p ON v.idPersonnel = p.idPersonnel
    LEFT JOIN tester t ON s.idRefPiece = t.idRefPiece 
    LEFT JOIN listemachine l ON  t.idListeMachine = l.idListeMachine
    WHERE ref = '.$Ref.' ');
    $req->execute(array($_GET['ref']));
    $donnees = $req->fetch();
    et la le TEST de la même requête sauf sue je rentre manuellement la valeur du WHERE :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    //Requete pour afficher les info de la Piece & Machine DELLF617N
    $req = "SELECT s.*, p.*, v.*, q.*, l.*, t.*, GROUP_CONCAT(DISTINCT p.nom) as referent_nom
    FROM stock s
    LEFT JOIN valider v ON s.idRefPiece = v.idRefPiece
    LEFT JOIN qualifier q ON s.idRefPiece = q.idRefPiece
    LEFT JOIN personnel p ON v.idPersonnel = p.idPersonnel
    LEFT JOIN tester t ON s.idRefPiece = t.idRefPiece 
    LEFT JOIN listemachine l ON  t.idListeMachine = l.idListeMachine
    WHERE ref = 'DELLF617N' ";
    $result = mysqli_query($con,$req);
    $donnees = mysqli_fetch_assoc($result);
    J'arrive à récupéré les valeurs du GET dans un tableau mais lorsque que je fais ces Requêtes (Pas en même temps bien-sur) rien ne s'affiche.

    Si vous voyez une erreurs ou un problème quelconque je suis extrêmement preneur

    Merci d'avance.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjoàur,

    tu mélanges la syntaxe "procédurale" et la syntaxe "orientée objet". :non:




    N.B. Si tu débutes, tu devrais plutôt utiliser PDO, qui est le (nouveau) standard.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2019
    Messages : 22
    Par défaut
    Bonjour, jreaux62

    Merci de ton retour, je vais regarder ce que tu m'a dis et je reviendrai surement vers vous si j'ai quelque problème sur la méthode.

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2019
    Messages : 22
    Par défaut
    Re,

    J'ai donc suivi la Méthode Mysqli:: Prepare;
    Effectivement elle ne m'affiche pas d'erreurs et me retourne une information en plus Mais ce que je ne comprend pas c'est que l'on met les information dans une Valeur "S" et ce que je me pose comme question c'est : Dans ma requête je dois retourne plusieurs champs, comment faire pour afficher les champs que je veux car la actuellement je les affiche avec %S .

    Voici le code de ma requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    //Connexion BDD
    $con = mysqli_connect("localhost", "root", "", "qualitech");
    /* Vérification de la connexion */
    if (mysqli_connect_errno()) {
        printf("Échec de la connexion : %s\n", mysqli_connect_error());
        exit();
    }
    $Ref = $_GET['ref'];
    /* Crée une requête préparée */
    if ($stmt = mysqli_prepare($con, "SELECT s.*, p.*, v.*, q.*, l.*, t.*
    FROM stock s
    LEFT JOIN valider v ON s.idRefPiece = v.idRefPiece
    LEFT JOIN qualifier q ON s.idRefPiece = q.idRefPiece
    LEFT JOIN personnel p ON v.idPersonnel = p.idPersonnel
    LEFT JOIN tester t ON s.idRefPiece = t.idRefPiece 
    LEFT JOIN listemachine l ON  t.idListeMachine = l.idListeMachine
    WHERE ref = ? ")) {
     
        /* Lecture des marqueurs */
        mysqli_stmt_bind_param($stmt, "s", $Ref);
     
        /* Exécution de la requête */
        mysqli_stmt_execute($stmt);
     
        /* Lecture des variables résultantes */
        mysqli_stmt_bind_result($stmt, $RefPiece);
     
        /* Récupération des valeurs */
        mysqli_stmt_fetch($stmt);
     
        printf("%s est dans le district de %s\n", $Ref, $RefPiece);
     
        /* Fermeture du traitement */
        mysqli_stmt_close($stmt);
    }

  5. #5
    Invité
    Invité(e)
    Par défaut
    Je ne connais pas mysqli_.

    J'utilise PDO.

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2019
    Messages : 22
    Par défaut
    Voici la connexion et la requête préparer en PDO mais cela m'affiche toujours rien ..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    //Connexion BDD
    $con = new PDO("mysql:host=localhost;dbname=qualitech;", "root", "");
    $req = $con->prepare('SELECT s.*, p.*, v.*, q.*, l.*, t.*
    FROM stock s
    LEFT JOIN valider v ON s.idRefPiece = v.idRefPiece
    LEFT JOIN qualifier q ON s.idRefPiece = q.idRefPiece
    LEFT JOIN personnel p ON v.idPersonnel = p.idPersonnel
    LEFT JOIN tester t ON s.idRefPiece = t.idRefPiece 
    LEFT JOIN listemachine l ON  t.idListeMachine = l.idListeMachine
    WHERE ref = :ref ');
    $req->bindParam(':ref', $Ref, PDO::PARAM_INT).
    $req->execute();
    sachant que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $Ref = $_GET['ref'];

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Tristano Voir le message
    ...Avant j’était sous WAMP...
    Je ne vois pas l'intérêt d'avoir changer pour une installation manuelle... ...

  8. #8
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2019
    Messages : 22
    Par défaut
    Mon tuteur .. :'(

  9. #9
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2019
    Messages : 22
    Par défaut
    Je viens d'activer PDO mais mon code ne fonctionne toujours pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
     
    //Connexion BDD
    $con = new PDO("mysql:host=localhost;dbname=qualitech;", "root", "");
    $req = $con->prepare('SELECT s.*, p.*, v.*, q.*, l.*, t.*
    FROM stock s
    LEFT JOIN valider v ON s.idRefPiece = v.idRefPiece
    LEFT JOIN qualifier q ON s.idRefPiece = q.idRefPiece
    LEFT JOIN personnel p ON v.idPersonnel = p.idPersonnel
    LEFT JOIN tester t ON s.idRefPiece = t.idRefPiece 
    LEFT JOIN listemachine l ON  t.idListeMachine = l.idListeMachine
    WHERE ref = :ref ');
    $req->bindParam(':ref', $Ref, PDO::PARAM_INT).
    $req->execute();
     
    echo $req;

  10. #10
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2019
    Messages
    22
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2019
    Messages : 22
    Par défaut
    Auriez-vous un code permettant de savoir si PDO est bien activer ?

  11. #11
    Invité
    Invité(e)
    Par défaut
    1-
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo phpinfo(); ?>
    2- Il faudrait penser à exploiter le résultat de la requête...


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

Discussions similaires

  1. Réponses: 2
    Dernier message: 18/05/2010, 02h10
  2. Requète select et affichage des données.
    Par morgan47 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 06/10/2009, 09h09
  3. temps d'execution entre requète DB et affichage
    Par baboutom dans le forum Windows Presentation Foundation
    Réponses: 5
    Dernier message: 27/05/2009, 00h27
  4. Requète SQL et affichage liste
    Par Little_flower dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 18/07/2008, 13h33
  5. Requète croisée et affichage
    Par BakaOnigiri dans le forum SQL
    Réponses: 2
    Dernier message: 31/10/2002, 11h28

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