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

SQL Procédural MySQL Discussion :

Procedures stockees, can't return a result set in the given context


Sujet :

SQL Procédural MySQL

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 21
    Par défaut Procedures stockees, can't return a result set in the given context
    bonjour,
    Je découvre les procedures stockees dans mysql 5.0.

    j'ai suivie scrupuleusement un tutoriel dans phpsolution et je n'arrive pas a sortir un résultat, jai donc essayer quelque chose de plus basique :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    DELIMITER $$
     
    DROP PROCEDURE IF EXISTS `lecteurmultimedia`.`test` $$
    CREATE DEFINER = `root`@`%`
    PROCEDURE `lecteurmultimedia`.`test` ()
    SQL SECURITY DEFINER
    BEGIN
     
    SELECT * FROM lecteurmultimedia.admin ;
    END $$
     
    DELIMITER ;
    que j'appel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $req = 'CALL lecteurmultimedia.test()';
    $query = mysql_query($req,$this->link) or die(mysql_error());
    et immancablement le meme résultat quoi que je fasse

    PROCEDURE lecteurmultimedia.test can't return a result set in the given context
    Avez vous une idée ?

  2. #2
    Expert confirmé
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 932
    Par défaut
    Ta PS fait un select *, et obtient donc un ensemble de résultats (=result set) et ceci pour ne rien en faire: pas de paramètre OUT défini.

    De plus, ce result set est inexploitable en l'état: il convient d'utiliser la syntaxe SELECT.....INTO cf: http://dev.mysql.com/doc/refman/5.0/...statement.html

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 21
    Par défaut
    Merci pour ta réponse rapide qui effectivement m'eclaire un peu.
    Mais alors je ne peu pas récuperer un jeu de résultat avec les Procedure ?

    ce type de syntaxe n'est donc pas possible ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $quer = mysql_query($req);
    while($res = mysql_fetch_assoc($quer))
    ...

  4. #4
    Expert confirmé
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 932
    Par défaut
    Tout dépend de ce que tu veux en faire de ce result set...

    Si c'est pour le balayer complètement pour traiter quelques lignes sans passer par le prog client, utilises un curseur dans la PS.

    Si c'est pour le traiter coté client, il faudra de toute manière disposer du result set coté client, donc autant faire une requète en ce sens dans ton php.

    Reste à explorer la possibilité de définir un tableau en OUT de la PS.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 21
    Par défaut
    Reste à explorer la possibilité de définir un tableau en OUT de la PS.
    Je pensais a ca oui, a tu un exemple d'implémentation ?

    ps: le SELECT * est biensur un test et pas la raison d'etre de ma PS

  6. #6
    Expert confirmé
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 932
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 932
    Par défaut
    Citation Envoyé par misterniark
    Je pensais a ca oui, a tu un exemple d'implémentation ?
    Je viens de fouiller un peu la doc, et a priori ce n'est pas possible

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 21
    Par défaut
    en tous cas merci de d'avoir pris le temps pour moi.

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

Discussions similaires

  1. The executeQuery method must return a result set
    Par maeva13 dans le forum Développement de jobs
    Réponses: 4
    Dernier message: 16/01/2015, 11h51
  2. SQL Relay : Procédures stockées avec curseur en return
    Par Tchinkatchuk dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 19/10/2006, 17h21
  3. Procedure stockée avec result set
    Par cedric.mechler dans le forum Bases de données
    Réponses: 1
    Dernier message: 08/08/2006, 09h22
  4. [Delphi] CommandText does not return a result set
    Par jdf-net dans le forum Bases de données
    Réponses: 1
    Dernier message: 11/12/2005, 16h26
  5. procedures stockées:can't return a result set in the given..
    Par ronando dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 27/10/2005, 15h55

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