Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/03/2006, 11h05   #1
Invité régulier
 
Inscription : mars 2006
Messages : 13
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 13
Points : 6
Points : 6
Par défaut [BDD] Comment Executer Une SP Mysql avec ADODB depuis PHP

Bonjour,
J'essai d'executer une Procédure Stockée Mysql depuis un script PHP au moyen d'une connexion ADODB et je n'y arrive pas.
J'arrive parfaitement a exécuter une requete mais lorsque que je remplace la requete par un appel à une procédure le recordet est vide.
Voici le code que j'utilise.

Code :
1
2
3
4
5
6
7
8
 
 
 $db = NewADOConnection('mysql');
 $db->Connect($hostname_bdf, $username_bdf, $password_bdf,   $database_bdf);
 
 $result = $db->Execute("call essaiADODB()");
 
 IF ($result === false) die("failed");
La page de retour renvoie failed donc mon recordset est vide.
Pouvez vpus dire qu'elle est la syntaxe pour appeller une procédure stockée.
Merci

php -->V 5.1.1
Mysql--> v5.0
librairie PHP --> adodb.inc.php
audreyc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2006, 11h27   #2
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 823
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

Informations professionnelles :
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2005
Messages : 2 823
Points : 3 454
Points : 3 454
Pour avoir plus d'infos sur l'erreur essaie ceci :

Code :
echo $db->errorMsg( ) ;
Citation:
Pouvez vpus dire qu'elle est la syntaxe pour appeller une procédure stockée
Si on s'en tient au SQL le CALL est correct http://dev.mysql.com/doc/refman/5.0/en/call.html
Quel est le résultat si tu appelles ta procédure directement depuis le client MySQL en ligne de commandes ?
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2006, 12h07   #3
Invité régulier
 
Inscription : mars 2006
Messages : 13
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 13
Points : 6
Points : 6
La procédure lance une requete select dont le résultat est d'une colonne sur plusieurs lignes.

Voici le message d'erreur :

Code :
1
2
 
"PROCEDURE bdfdevinodb.essaiADODB can't return a result set in the given contextfailed"
J'avais déjà eu ce pb auparavant il avait fallu recompiler avec Mysqli...et utiliser les functions mysqli depuis PHP.

Le pb est que ns essayons d'utiliser la classe d'abstraction ADODB afin de rendre portable nos developpements pour un éventuel changement de SGBD.

Mais j'ai lu que la limite de la portabilité de ADODB s'arretait justement aux procédures stockées alors je crois que ns allons oublier ADODB et poursuivre avec LES FUNCTIONS PHP mysqli..

Par contre je suis quand même curieuse d'avoir la réponse quant à la syntaxe pour l'appel d'une SP MySQL avec ADODB ....
si quelqu'un a la réponse...
Merci
audreyc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/03/2006, 12h17   #4
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 823
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

Informations professionnelles :
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2005
Messages : 2 823
Points : 3 454
Points : 3 454
Citation:
Envoyé par audreyc
Le pb est que ns essayons d'utiliser la classe d'abstraction ADODB afin de rendre portable nos developpements pour un éventuel changement de SGBD
Pourquoi ne pas utiliser l'extension PHP d'abstraction de BdD PDO ? http://www.php.net/pdo

Citation:
si quelqu'un a la réponse...
Pas moi, désolé.
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h00.


 
 
 
 
Partenaires

Hébergement Web