0

我使用 sqlsrv 和 PHP 低于 SP HIt。片段对我不起作用。对于下面的代码,我得到“SQL SRV QUERY NOT RAN”。请提供您的建议,如何实现 php + sqlsrv + SP。

$query = "{CALL call_user_name}";

if ( ($res = sqlsrv_query( CONNSTR, $query)) )
{
   do 
   {
      if ( sqlsrv_num_fields($res) ) // one way to check if results returned.

      {
         while( ($row = sqlsrv_fetch_array( $res, $type)) )
         {
            $data[] = $row; 
         }
      }else{echo "sqlsrv_num_fields not working";}
   } while ( sqlsrv_next_result($res) ) ;
   sqlsrv_free_stmt($res); // not essential, but good form if your script does lots of other stuff.
}else{
       echo "SQL SRV QUERY NOT RAN ";die( print_r( sqlsrv_errors(), true));
}
4

2 回答 2

0

您的错误有一些可能的原因,我的建议:更改此行

回声“SQL SRV 查询未运行”

死(print_r(sqlsrv_errors(),真));

然后您可以查看导致错误的原因。

于 2013-05-22T04:55:58.290 回答
0

示例 PHP SQL Srv 存储过程调用(带参数)。希望这将帮助您获得一个想法。(用于通过ajax请求调用这个php文件,调用SP后返回数据)

smeSelectDrp 是 SP 名称

$sql = "EXEC smeSelectDrp";

$stmt = sqlsrv_prepare($conn, $sql);
if (!sqlsrv_execute($stmt)) {
echo "Error Retrieving Data";
die;
}
else 
{
while($row  = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_NUMERIC) ) {
$value[] = $row;
}
echo json_encode($value);
}
于 2020-01-14T05:37:17.020 回答