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 :

Comment appeller une fonction stockée en MS SQLServer depuis PHP ? [SQL-Server]


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2007
    Messages : 47
    Points : 37
    Points
    37
    Par défaut Comment appeller une fonction stockée en MS SQLServer depuis PHP ?
    Bonjour,

    J'utilise MS SQLServer Express Edition, avec easyPHP 1.8.

    Je me connecte via ODBC.

    J'ai écrit des fonctions en SQLServer et maintenant je dois les appeller depuis PHP.

    Est-ce qqun a un idée comment le faire?

    Merci à l'avance.

  2. #2
    Membre expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Points : 3 212
    Points
    3 212

  3. #3
    Membre éclairé Avatar de LeXo
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 147
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 147
    Points : 868
    Points
    868
    Par défaut
    sur mysql
    pour les fonctions
    pour les procédure stockée
    d'ailleurs faut que je le rajoutes
    Plzzz pas de questions par MP.

  4. #4
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 563
    Points : 2 390
    Points
    2 390
    Par défaut
    J'essaie d'exécuter une fonction avec la fonction mssql_execute mais le serveur me renvoi une erreur :
    Fatal error: Call to undefined function mssql_execute() in /var/www/CRA/saisie_pieces/index.php
    Pourtant les autres fonctions mssql_ fonctionnent (mssql_query, mssql_fetch_array, ...)

    Y a t il un paquet différent à installer pour faire fonctionner mssql_execute ?

    Merci
    Zend Certified PHP Engineer

    « Crois-tu comprendre le monde juste en matant le 20H Ou connaître l'histoire en ayant lu que l'angle des vainqueurs ? » Keny Arkana

  5. #5
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Oui il faut installer l'extension php_mssql :

    Informations de configuration : http://fr.php.net/manual/fr/mssql.setup.php

    Un exemple simple et concret :

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    <?
    /*
    MSSQL PHP Example
    
    Replace datasource_name with the name of your data source.
    Replace database_username and database_password
    with the SQL Server database username and password.
    */
      $data_source ='datasource_name';
      $user = 'database_username';
      $password = 'database_password';
     
      $conn = odbc_connect($data_source,$user,$password,SQL_CUR_DEFAULT);
      if (!$conn){
        if (phpversion() < '4.0'){
          exit("Connection Failed: . $php_errormsg" );
        }
        else{
          exit("Connection Failed:" . odbc_errormsg());
        }
      }
     
    // This procedure simply calls the select statement used in the initial code sample
      $sp = "CREATE PROCEDURE PROCEDURE_TEST AS
             SELECT 1 AS test_col";
    // Prepare the statement
      $stmt = odbc_prepare($conn,$sp);
    // Execute the statement.
      odbc_execute ($stmt);
     
      $callsp = "{call PROCEDURE_TEST}";
      $stmt = odbc_prepare($conn,$callsp);
      $parms = array();
     
      @odbc_execute ($stmt, $parms);
     
    // Output the procedure's return value.
      odbc_result_all($stmt);
     
    // Drop the precedure
      $dropsp = "DROP PROCEDURE PROCEDURE_TEST";
      $stmt = odbc_prepare($conn,$dropsp);
     
      odbc_execute ($stmt);
    // Disconnect the database from the database handle.
      odbc_close($conn);
    ?>

  6. #6
    Membre émérite
    Avatar de Seb33300
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2007
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Thaïlande

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 563
    Points : 2 390
    Points
    2 390
    Par défaut
    J'ai trouvé une solution, il suffit de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $result = mssql_query("SELECT dbo.Fonction ('Parametre1', 'Parametre2') as result");
    $val = mssql_fetch_array($result);
    echo $val['result'];
    Zend Certified PHP Engineer

    « Crois-tu comprendre le monde juste en matant le 20H Ou connaître l'histoire en ayant lu que l'angle des vainqueurs ? » Keny Arkana

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/09/2008, 09h14
  2. Réponses: 1
    Dernier message: 07/02/2006, 00h11
  3. comment appeler une fonction JAVA en JAVASCRIPT ?
    Par heleneh dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 13/09/2005, 12h21
  4. comment appeler une fonction JAVA en JAVASCRIPT ?
    Par heleneh dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 13/09/2005, 12h04
  5. Comment appeler une fonction JavaScript depuis Delphi ?
    Par Alfred12 dans le forum Web & réseau
    Réponses: 4
    Dernier message: 17/06/2005, 18h15

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