使用来自MSSQL数据库的sqlsrv_prepare,sqlsrv_execute获取返回参数的值

时间:2015-07-21 18:52:18

标签: php sql sql-server database

最后一个参数'$ status'假设返回0或1.如何获取该输出参数的值?回应$ result总是返回1.存储过程在经典的asp和.NET下工作,但我需要在PHP下完成。

$conn = sqlsrv_connect($serverName, $connectionInfo);

if( $conn === false ) {
     die( print_r( sqlsrv_errors(), true));
}

$tsql = "{call spName(?,?,?,?)}"; 

$params = array(
                array(&$param1, SQLSRV_PARAM_IN),
                array(&$param2, SQLSRV_PARAM_IN),
                array(&$param3, SQLSRV_PARAM_IN),
                array(&$status, SQLSRV_PARAM_OUT)
                );

$stmt = sqlsrv_prepare($conn, $tsql, $params);

if($stmt===false ) {
    if( ($errors = sqlsrv_errors() ) != null) {
      die( print_r( sqlsrv_errors(), true));
}

$result = sqlsrv_execute($stmt);

if($result === false){
  die( print_r( sqlsrv_errors(), true));
}

echo " " . $result;

sqlsrv_free_stmt($stmt);
sqlsrv_close($conn);

1 个答案:

答案 0 :(得分:0)

令人难以置信,我所要做的就是回显输出参数本身(本例中为$ status)以查看结果。