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

Langage PHP Discussion :

Récupération donnée SQL dans variable php


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 99
    Points : 36
    Points
    36
    Par défaut Récupération donnée SQL dans variable php
    Bonjour a tous,

    J'aimerai pouvoir récupérer une donnée précise de ma base de données afin de pouvoir l'utiliser ensuite.

    J'ai coder ça pour le moment et évidemment ça ne marche pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
            require'connect.php';
            // recupération variable URL
            $idP = $_GET["idPlan"];
            // récupération lien_plan dans base
            $recupLP = "SELECT lien_plan FROM vv_plans WHERE id=".$idP;
            //exécution de la requête : 
            $slp = $dbh->query($recupLP);
            $affLP = $slp->fetch();
            //affichagte pour test : 
            echo $affLP;
    ?>
    J'ai bien compris que j'avais une erreur avec le fetch puisqu'il me dit que j'appel la fonction fetch sur un non-objet.
    J'utilise une connexion PDO présant dans mon connect.php

    Voilà, j'espère que vous pourrez m'aider

    En vous remerciant d'avance

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 99
    Points : 36
    Points
    36
    Par défaut
    Après activation des erreurs, l'erreur est la suivante :

    Call to undefined function SELECT lien_plan FROM vv_plans WHERE id=1()
    Donc c'est un soucis avec ma requête ?

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Houla, je ne sais pas quel bazard tu as fais la

    Bon de toute facon on ne met jamais un valeur $_GET directement dans une requête et fetch() renvoit un tableau PHP, donc tu ne peux pas faire un echo.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
            require'connect.php';
     
            $slp = $dbh->prepare("SELECT lien_plan FROM vv_plans WHERE id= :idPlan");
            $slp->execute(array(':idplan'=>$_GET["idPlan"]));
            $affLP = $slp->fetch(PDO::FETCH_ASSOC);
            var_dump($affLP);
    ?>
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 99
    Points : 36
    Points
    36
    Par défaut
    Bonjour Sabotage,

    En essayant ton code, une nouvelle erreur apparaît :
    Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: :idplan
    bool(false)
    Et celle ci je ne sais pas du tous ce qu'elle veut dire !

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    J'ai raté la majuscule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $slp->execute(array(':idPlan'=>$_GET["idPlan"]));
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 99
    Points : 36
    Points
    36
    Par défaut
    Effectivement ça venait de cette petite majuscule !

    Bon plus de message d'erreur, mais le var_dump renvois :
    Donc la requête ne récupère pas la valeur c'est bien ça ?

    Je me suis permis de rajouter un : à la fin de ton code pour voir si cela fonctionnait.

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Cela peut signifier que la requête ne retourne aucun resultat oui.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 99
    Points : 36
    Points
    36
    Par défaut
    Je me permet de poser une autre question qui fait suite à tout ce que je vous ai demandé, mais qu'i ne concerne pas la même chose, je m'explique.

    Je voulais récupérer "lien_plan" dans ma base car il contiens le lien d'accès au fichier voulu. Ce qui me permet de supprimer mon fichier grâce à la fonction unlink(). Bon cette partie marche au poil et je vous en remercie.

    Maintenant j'aimerai supprimer les informations, stocker dans ma base, concernant le fichier supprimer au préalable.

    Mon code est le suivant :
    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
     // récupération varaible URL
                $idP = $_GET["idPlan"];
                //requête SQL
                $sqlSP = "DELETE FROM vv_plans WHERE id_plan=" . $idP;
     
                // exécution requête 
                $requeteSP = $dbh->query($sqlSP);
     
                //affichage
                if ($requeteSP) {
                    header("location:supprPlan.php");
                } else {
                    echo("La suppression en base à échoué");
                }
            } else {
                echo 'La suppression du fichier à échouée..';
            }
    L'erreur renvoyé est la suivante :

    Call to undefined function DELETE FROM vv_plans WHERE id_plan=3
    Le problème ressemble au premier évoqué dans ce sujet. L'erreur viens encore une fois de mon "id_plan" qui ne devrait pas être récupérer de cette manière ?

    Merci d'avance.

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Comme je t'ai dit, on n'écrit pas des trucs comme ça.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 99
    Points : 36
    Points
    36
    Par défaut
    Oui j'ai bien compris que ma syntaxe n'était pas bonne.
    Mais pourtant, j'utilise exactement la même syntaxe dans une autre page et la suppression s'effectue correctement. C'est pour cela que je ne comprends pas.

    Si je comprends bien, la syntaxe est bonne en soi mais ce n'est pas de cette façon qu'il faut que je procède ?

  12. #12
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    L'erreur laisse penser qu'il y a une erreur de syntaxe plus haut.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  13. #13
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 99
    Points : 36
    Points
    36
    Par défaut
    Plus haut dans le code de la page ?

    Si je met tous ce bloque en commentaire et que je laisse actif la suppression de fichier seul, tout marche.
    C'est seulement ce bloque qui m'ennuie.

    Sachant que c'est exactement la même syntaxe que sur une autre page, en adaptant les variables bien évidement.

  14. #14
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu peux nous montrer le code entier minimal qui te donnerait cette erreur ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  15. #15
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 99
    Points : 36
    Points
    36
    Par défaut
    Bonjour Sabotage,

    Je te met le code complet de ma page ci dessous :

    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
        <head>
            <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
            <meta http-equiv="content-type" content="text/html;charset=utf-8" />
     
            <title>Plan : Echec de la suppression </title>
     
        </head>
        <?php
        session_start();
        if (!isset($_SESSION['membre']) || !$_SESSION['membre']) {
            header("location:index.php");
            die();
        }
        ?>
        <body>
            <CENTER><h1>Suppression de plan</h1></CENTER>
            <?php
            require 'menu.php';
            ?>
     
            <?php
            require'connect.php';
     
            $slp = $dbh->prepare("SELECT lien_plan FROM vv_plans WHERE id_plan= :idPlan");
            $slp->execute(array(':idPlan' => $_GET["idPlan"]));
            $affLP = $slp->fetch(PDO::FETCH_ASSOC);
            echo $affLP['lien_plan'];
            $SuppR = unlink($affLP['lien_plan']);
     
            if ($SuppR) {
                // récupération varaible URL
                $idP = $_GET["idPlan"];
                //requête SQL
                $sqlSP = "DELETE FROM vv_plans WHERE id_plan=" . $idP;
     
                // exécution requête 
                $requeteSP = $dbh->query($sqlSP (PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION));
     
                //affichage
                if ($requeteSP) {
                    header("location:supprPlan.php");
                } else {
                    echo("La suppression en base à échoué..");
                }
            } else {
                echo 'La suppression du fichier à échouée..';
            }
            ?> 
     
            <br /><a href="deconnexion.php"> <input type="button" value="Déconnexion"></a>
        </body>
    </html>
    Merci d'avance !

  16. #16
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Pour l'aspect minimal je pense que tu pouvais faire mieux

    Tu as un (PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION) qui se ballade dans ta code.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  17. #17
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 99
    Points : 36
    Points
    36
    Par défaut
    Il se passe vraiment des trucs louches..

    Hier avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    // récupération varaible URL
                $idP = $_GET["idPlan"];
                //requête SQL
                $sqlSP = "DELETE FROM vv_plans WHERE id_plan=" . $idP;
     
                // exécution requête 
                $requeteSP = $dbh->query($sqlSP );
     
                //affichage
                if ($requeteSP) {
                    header("location:supprPlan.php");
                } else {
                    echo("La suppression en base à échoué..");
                }
    Donc sans le (PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION) ça ne marchais pas.
    Donc je l'avais mis pour voir d'où venait l'erreur.

    Aujourd'hui et sans avoir toucher une seule miette du code, j'enlève le (PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION) et ça fonctionne.

    Je n'arrive pas à expliquer certaines chose dans ce monde. Bien étrange tout de même.

    Mais merci en tout cas, c'est bien en supprimant ce que tu m'as dit que ça marche !

  18. #18
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    En tout cas c'est cohérent avec l'erreur.
    Quand PHP voit $sqlSP (PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION).
    Il comprend que $sqlSP est une fonction avec un paramètre entre parenthèse.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  19. #19
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2015
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2015
    Messages : 99
    Points : 36
    Points
    36
    Par défaut
    Ha d'accord ! D'où l'erreur

    En tout cas merci pour toute l'aide que tu m'as fournis !

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 09/10/2008, 14h28
  2. Récupération données nvarchar dans SQL Server 2000
    Par fucce dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 02/05/2007, 16h59
  3. [PHP-JS] Erreur de syntaxe récupération valeur dans variable PHP
    Par sosophie dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 13/04/2007, 12h33
  4. Verification données envoye dans fichier php
    Par nestam dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 01/03/2006, 09h09
  5. Transposer des données sql dans un fichier texte
    Par Anakior dans le forum Outils
    Réponses: 3
    Dernier message: 11/12/2005, 10h01

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