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 :

Placeholder et select mysql


Sujet :

SGBD Perl

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 7
    Points : 7
    Points
    7
    Par défaut Placeholder et select mysql
    J'ai un petit problème que j'ai du mal à comprendre...

    j'ai mis en place des placeholders sur des select mais je n'arrive pas à récupérer les données...

    déclaration du placeholder:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    my $requete_sql_select_recepteurs = <<"SQL";
    SELECT count(R.id), R.id
    from recepteurs R
    left join recepteur_nom RN
    on R.id=RN.id_rec
    where RN.nom = ? AND R.organisme = ?;
    SQL
     
    my $select_recepteurs = $dbh->prepare($requete_sql_select_recepteurs);
    utilisation du placeholder:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $select_recepteurs->execute( $tab_temp[$num_nom_recept] , $tab_temp[$num_orga] ) or die "Echec Requete $requete_sql_select_recepteurs : $DBI::errstr";
     
    while(my $ref = $sql->fetchrow_hashref()){
    	$parse_recepteurs=$ref->{'count(R.id)'};
    	$id_recept_temp=$ref->{'R.id'};
    }
    erreur:
    DBD::mysql::st fetchrow_hashref failed: fetch() without execute() at Insertion_bindingdb.pl line 425, <EN_COURS> line 2.

    alors que si je remplace le placeholder par la requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $request="SELECT count(R.id), R.id from recepteurs R left join recepteur_nom RN on R.id=RN.id_rec where RN.nom = $tab_temp[$num_nom_recept] AND R.organisme = $tab_temp[$num_orga]";
    	$sql = $dbh->prepare($request) ; $sql->execute() ;
    l'éxécution se fait sans problème...

    Merci d'avance

  2. #2
    Membre confirmé Avatar de Beniou
    Homme Profil pro
    Inscrit en
    Novembre 2009
    Messages
    357
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Novembre 2009
    Messages : 357
    Points : 515
    Points
    515
    Par défaut
    Dans ton code tu utilise la fonction "fetchrow_hashref" sur la variable $sql. Or, tu dois le faire sur la variable $select_recepteurs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    while(my $ref = $select_recepteurs->fetchrow_hashref()){
    	$parse_recepteurs=$ref->{'count(R.id)'};
    	$id_recept_temp=$ref->{'R.id'};
    }

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 7
    Points : 7
    Points
    7
    Par défaut
    forcement si j'utilise pas la bonne variable...

    je te remercie beaucoup

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

Discussions similaires

  1. Requete select MySql
    Par xavier1936 dans le forum JDBC
    Réponses: 2
    Dernier message: 19/11/2008, 09h45
  2. [MySQL] Erreur sur mon Select MySQL
    Par The Molo dans le forum PHP & Base de données
    Réponses: 18
    Dernier message: 01/08/2008, 17h25
  3. Resultat vide sur un select MySQL.
    Par Delphi-ne dans le forum Bases de données
    Réponses: 9
    Dernier message: 02/12/2006, 19h46
  4. Réponses: 6
    Dernier message: 17/07/2006, 16h07
  5. [SGBD] Select MySQL
    Par Roromix dans le forum Requêtes
    Réponses: 4
    Dernier message: 17/05/2006, 01h46

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