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

PHP & Base de données Discussion :

Aide sur les Procédures stockées


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 176
    Par défaut Aide sur les Procédures stockées
    Bonne rencontre,

    Après une recherche sur ce forum et sur la toile, j’ai l’impression qu’il y a un flou et beaucoup d’informations contradictoire sur les procédures stockées avec PHP.

    J’ai déjà réalisé ce genre de travail mais avec un SGBD en MSSQL.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    []         
    //On appel la procédure stockée
    $stmt = mssql_init('AddAgence', $conn);
     
    //On fait les binds
    mssql_bind($stmt, "@Nom", $nom, SQLVARCHAR);
    mssql_bind($stmt, "@fkAgence",$agencemere, SQLINT4);
     
    //On injecte
    $proc_result = mssql_execute($stmt);
     
    // On exploite le résultat ici un seule valeur de retour                  
    $row = mssql_fetch_row($proc_result)
    []
    Ca fonctionne très bien et je n’ai pas rencontré de problème.

    Par contre et c’est là que je suis étonné, ce n’est pas très clair avec un SGBD comme Mysql.

    J’ai lu que pour utiliser une procédure stockée en PHP avec du Mysql, il fallait utiliser du mysqli ? Vrai ou faux ?

    Dans ce cas et si j’ai bien compris, on doit faire comme ceci :

    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
    20
    21
    22
    23
    <?php
     
        $link = mysqli_connect("localhost", $username, $password, $database);
     
        $query = "CALL ps_chercher(ma, liste, de, param);";
     
        $stmt = mysqli_prepare($link, $query);
     
        mysqli_stmt_execute($stmt);
     
        mysqli_stmt_bind_result($stmt, $1, $2, $3, $4, $5);
     
        while (mysqli_stmt_fetch($stmt)) {
     
            printf ("%s - %s - %s - %s - %s<br>", $1, $2, $3, $4, $5);
     
        }
     
        mysqli_stmt_close($stmt);
     
        mysqli_close($link);
     
    ?>
    Ou alors, on peut utiliser du PDO en utilisant ce genre de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    $stmt = $dbh->prepare("CALL sp_returns_string(?)");
    $stmt->bindParam(1, $return_value, PDO::PARAM_STR, 4000);
     
    // Appel de la procédure stockée
    $stmt->execute();
     
    print "La procédure a retourné : $return_value\n";
    ?>
    Oui sauf que j’ai lu que le PDO n’était pas encore très au point… De même, pouvez-vous me dire si c’est toujours d’actualité ?

    Il y a t-il d'autres méthodes ?

    D'avance, merci.

    Amicalement,
    Cerbère.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 89
    Par défaut
    bonjour,

    de ce que j'en sais il n'y a pas d'obligation à passer par une requete préparée pour appeler une procédure stockée, tu peux le faire par un simple $mysqli/PdoLink->query($sql). quand à l'obligation d'utiliser mysqli, je ne crois pas.

    quand à pdo le driver pdo_mysql est intégré en natif avec php 5.3 comme remplacant du driver mysqlnd utilisé jusqu'ici, utilisé comme base dans des outils style doctrine. Dans un sens certainnement plus au point que ce qu'on pourrait coder à la manno.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 176
    Par défaut
    Merci pour ta réponse Djef-69.

    Tu es la deuxième personne qui me conseil d'utiliser du PDO malgré mes appréhensions qui ne sont certainement pas fondée.

    Je pense que nous allons opter pour cette technique.

Discussions similaires

  1. Livre sur les procédures stockées
    Par infosteph dans le forum Livres
    Réponses: 0
    Dernier message: 14/04/2008, 15h50
  2. besoin de conseil sur les procédures stockées et vues.
    Par zenfantasy dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 28/11/2007, 21h41
  3. Demande infos sur les procédures stockées
    Par VILPELLET dans le forum SQL
    Réponses: 3
    Dernier message: 15/10/2007, 14h27
  4. Aide sur une Procédure stockée
    Par NicoNGRI dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/12/2006, 00h48
  5. Informations sur les procédures stockées
    Par jfphan dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 13/01/2004, 14h30

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