【问题标题】:Get returned parameter's value using sqlsrv_prepare, sqlsrv_execute from MSSQL database使用 sqlsrv_prepare、sqlsrv_execute 从 MSSQL 数据库获取返回的参数值
【发布时间】:2015-07-21 18:52:17
【问题描述】:

最后一个参数 '$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);

【问题讨论】:

    标签: php sql sql-server database


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2010-12-29
      • 1970-01-01
      • 2013-08-29
      • 2013-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多