【发布时间】:2012-01-11 10:30:51
【问题描述】:
我正在使用用于 php 的 sqlsrv ms 驱动程序,它工作正常(通过普通查询测试),我还通过运行存储过程来更新表数据对其进行了测试,这也有效,知道我想用它来运行存储过程,我想要响应,怎么办?
$server = "...the server address...";
$options = array("UID"=>"...the username...","PWD"=>"...the password...",
"Database" => "...the database..."
);
$conn = sqlsrv_connect($server, $options);
if ($conn === false) {die("<pre>".print_r(sqlsrv_errors(), true));}
$tsql_callSP = "{call ...the stored proc...( ?, ?)}";
$params = array(
array("...first value in...", SQLSRV_PARAM_IN),
array("...second value in...", SQLSRV_PARAM_IN)
);
$stmt3 = sqlsrv_query( $conn, $tsql_callSP, $params);
if( $stmt3 === false )
{
echo "Error in executing statement 3.\n";
die( print_r( sqlsrv_errors(), true));
}
print_r( $stmt3); //attempting to print the return but all i get is Resource id #3
echo "test echo";
sqlsrv_free_stmt( $stmt3);
sqlsrv_close( $conn);
我知道我可以使用输出参数,但我总是会从存储过程中接收多个值。
【问题讨论】:
-
答案很简单 sqlsrv_fetch_array($stmt3),我没有删除问题的原因是我没有看到任何与此代码类似的帖子。所以我把它留给其他想要使用 SP 和 PHP 的人
标签: php sql sql-server