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

EDI, CMS, Outils, Scripts et API PHP Discussion :

Appel procédure stockée


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 6
    Par défaut Appel procédure stockée
    bonsoir,

    j'essaye d'appeler une procédure stockée via PHP.
    cela me met l'erreur suivante :

    Fatal error: Call to undefined method JDatabaseMySQL::prepare() in C:\Program Files\EasyPHP 2.0b1\www\totosico\administrator\components\com_totosico\controllers\match.php on line 92
    faut-il declarer qqchose de special pour utiliser la fonction prepare() ??

    extrait du code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $db	=& JFactory::getDBO();
    ...
    $stmt = $db->prepare("CALL BET_UPDATE_MATCHS('". $p1 ."', '". $p2 ."', '". $p3 ."', '". $p4 ."', ". $p5 .")");
    Merci à tous

  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
    Par défaut
    La methode prepare() existe avec PDO mais dans le doc Joomla il n'en ai pas fait mention d'un equivalent pour JFactory.
    De plus pourquoi veux-tu fais un prepare() puisque ta requete n'a pas d'arguments ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 6
    Par défaut
    merci sabotage pour ta réponse.
    En fait je débute dans l'utilisation des proc stockées.
    J'en ai créée une et j'essaye de l'appeler en PHP sous Joomla.
    J'ai récupéré sur des sites ou forum des bouts de code et j'essaye de faire tourner la proc mais sans succès.
    Plus d'infos sur mon besoin :
    Je ne comprends pas ta question : De plus pourquoi veux-tu fais un prepare() puisque ta requete n'a pas d'arguments ?
    Ma proc a 5 parametres en entrée...d'après ce que j'avais vu sur les sites, je pensais que cela se codait comme decrit dans mon 1er post mais peut etre que non...
    Si tu as un exemple de coding complet, n'hésite pas...
    Merci d'avance
    Thierry

  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
    Par défaut
    Il y a deux choses différentes : "requêtes préparées" et "procédures stockées".

    Ce sont les requêtes préparées qui prennent des paramètres ; par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM table WHERE id = ?
    On "prepare" la requête avec ses emplacements de paramètres "?" ; on fourni les paramètres et on "execute" la requête.

    Les procédures stockées sont des commandes SQL enregistrées sur le serveur.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 6
    Par défaut
    merci Sabotage...effectivement, il y avait confusion. Je viens d'aller voir un tuto sur le sujet, c'est plus clair désormais...

    mon besoin est plutôt une procédure stockée je pense :
    - mise à jour des utilisateurs via formulaire
    - A la fin d'une certaine période, calcul de multiples classements pour tous les utilisateurs avec mise à jour de plusieurs tables (un gros traitement batch !)

    J'ai créé une procédure stockée...Par contre pour un confort d'utilisation, j'aimerai pouvoir l'appeler à partir de la partie admin de Joomla via composant perso.
    Actuellement, ces traitements se font via des scripts php "classiques" mais j'espère voir augmenter mon nombre d'utilisateur et donc la partie calcul/màj risque de faire un timeout.

    Donc mes questions :
    -Est il possible d'appeler des proc stockées via PHP sous joomla
    - Si oui, comment a se code
    - Si non, comment faire ? générer en PHP la ligne de commande type " call procedure(p1,P2)" avec les bons paramètres, faire copier/coller, puis aller exécuter la commande sur MYSQL ?
    Merci de ton aide (et celle des autres aussi !!).

Discussions similaires

  1. Appel Procédure stockée SQL qui plante
    Par Daniel MOREAU dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 05/04/2007, 08h55
  2. [PHP5]Appel procédure stockée
    Par maKyo dans le forum DB2
    Réponses: 2
    Dernier message: 02/03/2007, 11h04
  3. Réponses: 2
    Dernier message: 20/03/2006, 09h39
  4. Appeler Procédure stockée depuis ACCESS
    Par Sunny dans le forum Access
    Réponses: 2
    Dernier message: 13/09/2005, 22h07
  5. [PL/SQL] Appel procédure stockée dans trigger
    Par Félia dans le forum Oracle
    Réponses: 3
    Dernier message: 24/01/2005, 17h25

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