程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP如何得到mssql的存儲過程的輸出參數?

PHP如何得到mssql的存儲過程的輸出參數?

編輯:關於PHP編程

使用php mssql中的自帶函數
1.初始化存儲過程
$stmt = mssql_init ( 'procedure name' );
2.綁定變量
輸入參數:
mssql_bind ( $stmt, '@operate_flag', $status, SQLVARCHAR );  注意第三個參數必須為變量,否則報錯
輸出參數:
mssql_bind ( $stmt, '@return_mess', $output, SQLVARCHAR, true );   第五個參數為是否為輸出標記
執行存儲過程
$retult = mssql_execute ( $stmt );  第二個參數為是否返回結果集,更改設置與返回值無關
斷開連接
mssql_free_statement ( $stmt );
輸出值在變量$output中

當存儲過程有多個返回結果集,又有返回值時,處理方法有所不同:
來自於PHP維護者的解釋:
原本我們這種調用辦法是PHP 4.3版本之前肯定是支持的。
“但是,自從PHP 4.3版本之後,”他們說,“為了能夠兼容存儲過程返回多個結果集,PHP改變這個特性。”
“如果你不需要結果集,你應該設置mssql_execute的第二個可選參數為TRUE,這樣mssql_execute方法之後你就可以得到輸出參數了。”
“如果你需要返回的結果集們,你應該為每一個結果集調用一次mssql_next_result。在最後一個結果集返回之後,你再調用mssql_next_result就會得到返回值FALSE,這時候,你就可以訪問輸出參數了。
修改代碼如下
mssql_next_result($result);

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved