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

SGBD Perl Discussion :

lire requete mysql


Sujet :

SGBD Perl

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 80
    Points : 19
    Points
    19
    Par défaut lire requete mysql
    Bonjour, je voudrais savoir comment lire le resultat d'une requete dans un print("").
    La requete fonctionne je l'ai essayé sous mysql directement

    VOila la connexion et requete
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     my $dbh;
        $dbh= DBI->connect("DBI:$dbtype:dbname=$base;host=$host", $user);
        if (not $dbh)
        {
            &print_error("95PercentileGraph.pl ERROR: Failed to connect on mysql server. \n");
            exit (1);
        }
     
        my $req4 ="select `HOST_NAME` from `HOST` where `HOST_ID` = '$host_id';";
        my $sth4 = $dbh->prepare($req4);
        $sth4-> execute();
    et je voudrais juste lire le resultat HOST_NAME, c'est simple mais je bloque!!

    J'espere vous pourrez m'aider

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 80
    Points : 19
    Points
    19
    Par défaut
    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
    # Base de donnee / Requete:                                                                                                                                  
        my $dbh;
        $dbh= DBI->connect("DBI:$dbtype:dbname=$base;host=$host", $user);
        if (not $dbh)
        {
            &print_error("95PercentileGraph.pl ERROR: Failed to connect on mysql server. \n");
            exit (1);
        }
     
        my $req4 ="select `HOST_NAME` from `HOST` where `HOST_ID` = '$host_id';";
        my $sth4 = $dbh->prepare($req4);
        $sth4-> execute();
     
        while ( my @enr = $sth4 -> fetchrow_array)
        {
            print "@enr\n";
        }
        $sth4 -> finish;
        $dbh -> disconnect;
    Merci j'ai trouver, c'est logique il me fallais un tableau, je suis encore debutant en perl sa se vois j'ai pas encore les automatisme!

  3. #3
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 499 184
    Points
    499 184
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    # Base de donnee / Requete:                                                                                                                                  
        my $dbh;
        $dbh= DBI->connect("DBI:$dbtype:dbname=$base;host=$host", $user) or die("95PercentileGraph.pl ERROR: Failed to connect on mysql server. \n");
        my $req4 ="select `HOST_NAME` from `HOST` where `HOST_ID` = ?";
        my $sth4 = $dbh->prepare($req4);
        $sth4-> execute($host_id);
     
        while ( my @enr = $sth4 -> fetchrow_array) {
            print "@enr\n";
        }
        $sth4 -> finish;
        $dbh -> disconnect;

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 80
    Points : 19
    Points
    19
    Par défaut
    Bon je reviens parceque ce n'est pas la bonne solution!
    Parceque je voudrais recuperer une seule donnée de ma base sql pour l'utiliser comme variable scalaire plus tard!
    Dans ce que j'ai fait plus haut ca ne va pas puisque je peux la réutiliser apres!!

    Avez vous des idées?

    Merci

  5. #5
    Membre émérite
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        my $hostname
        while ( my @enr = $sth4 -> fetchrow_array)
        {
            print "@enr\n";
            $hostname = $enr[0];
        }
        " réutilisation de $hostname
    @enr est un array comme n'importe quel autre array et tu accèdes donc à ses valeurs par des indices.

    Donc avec un SELECT item0, item1, item2, item3
    Tu les récupères avec $enr[0], $enr[1], $enr[2] et $enr[3]
    -- Jasmine --

  6. #6
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Oui enfin y a plus simple hein :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my( $hostname ) = $sth4->fetchrow_array();
    Si tu es certain qu'il n'y a qu'une seule ligne dans la réponse.

    --
    Jedaï

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 80
    Points : 19
    Points
    19
    Par défaut
    Ah oui exactement c'est bon...!!

    Je suis mauvais

    Merci beaucoup encore une fois tu est la pour m'aider!!!

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    80
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 80
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par Jedai Voir le message
    Oui enfin y a plus simple hein :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my( $hostname ) = $sth4->fetchrow_array();
    Si tu es certain qu'il n'y a qu'une seule ligne dans la réponse.

    --
    Jedaï
    OUi c'est obliger il y a 1ligne vue que c'est le nom d'un serveur que je prends pour l'utiliser apres!

Discussions similaires

  1. résultat d'une requete mysql
    Par noinneh dans le forum MFC
    Réponses: 4
    Dernier message: 03/03/2005, 16h54
  2. arret requete mysql
    Par titiyo dans le forum Bases de données
    Réponses: 5
    Dernier message: 15/10/2004, 17h40
  3. Problème sous requete MySQL
    Par gavelin dans le forum Langage SQL
    Réponses: 3
    Dernier message: 20/07/2004, 10h36
  4. Requete MySql pour Mambo Open source
    Par azman0101 dans le forum Requêtes
    Réponses: 2
    Dernier message: 22/06/2004, 09h34

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