Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & SQL-Server
PHP & SQL-Server Forum d'entraide sur SQL-Server avec PHP. Avant de poster -> FAQ SQL-Server
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 24/10/2007, 13h25   #1
Invité régulier
 
Inscription : juillet 2007
Messages : 46
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 46
Points : 8
Points : 8
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.
momoG est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2007, 15h13   #2
Membre Expert
 
Inscription : janvier 2005
Messages : 2 288
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 2 288
Points : 2 287
Points : 2 287
mssql_execute()
koopajah est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/10/2007, 15h18   #3
Membre chevronné
 
Avatar de LeXo
 
Inscription : 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 : 782
Points : 782
sur mysql
pour les fonctions
pour les procédure stockée
d'ailleurs faut que je le rajoutes
LeXo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2008, 12h34   #4
Membre Expert
 
Avatar de Seb33300
 
Homme Sébastien Alfaiate
Développeur Web
Inscription : janvier 2007
Messages : 1 330
Détails du profil
Informations personnelles :
Nom : Homme Sébastien Alfaiate
Âge : 26
Localisation : France, Gironde (Aquitaine)

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

Informations forums :
Inscription : janvier 2007
Messages : 1 330
Points : 1 659
Points : 1 659
J'essaie d'exécuter une fonction avec la fonction mssql_execute mais le serveur me renvoi une erreur :
Citation:
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
Seb33300 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2008, 13h03   #5
Modérateur
 
Avatar de ThomasR
 
Homme Thomas Rambaud
Développeur Web
Inscription : décembre 2007
Messages : 2 140
Détails du profil
Informations personnelles :
Nom : Homme Thomas Rambaud
Âge : 25
Localisation : France

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

Informations forums :
Inscription : décembre 2007
Messages : 2 140
Points : 2 885
Points : 2 885
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 :
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);
?>
__________________
Développeur Web, accessoirement geek (ou l'inverse)
http://thomasrambaud.com
ThomasR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2008, 16h11   #6
Membre Expert
 
Avatar de Seb33300
 
Homme Sébastien Alfaiate
Développeur Web
Inscription : janvier 2007
Messages : 1 330
Détails du profil
Informations personnelles :
Nom : Homme Sébastien Alfaiate
Âge : 26
Localisation : France, Gironde (Aquitaine)

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

Informations forums :
Inscription : janvier 2007
Messages : 1 330
Points : 1 659
Points : 1 659
J'ai trouvé une solution, il suffit de faire :

Code :
1
2
3
$result = mssql_query("SELECT dbo.Fonction ('Parametre1', 'Parametre2') as result");
$val = mssql_fetch_array($result);
echo $val['result'];
Seb33300 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h14.


 
 
 
 
Partenaires

Hébergement Web