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.
Version imprimable
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.
mssql_execute() :question:
sur mysql
pour les fonctions
pour les procédure stockéeCode:select ma_fonct(....);
d'ailleurs faut que je le rajoutes ;)Code:call ma_Proc(....);
J'essaie d'exécuter une fonction avec la fonction mssql_execute mais le serveur me renvoi une erreur :
Pourtant les autres fonctions mssql_ fonctionnent (mssql_query, mssql_fetch_array, ...)Citation:
Fatal error: Call to undefined function mssql_execute() in /var/www/CRA/saisie_pieces/index.php
Y a t il un paquet différent à installer pour faire fonctionner mssql_execute ?
Merci
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); ?>
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'];