我使用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));
}
答案 0 :(得分:0)
有一些可能的原因导致您的错误,我的建议是:更改此行
回显“SQL SRV QUERY NOT RAN”
到
die(print_r(sqlsrv_errors(),true));
然后你可以看到导致错误的原因。
答案 1 :(得分: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);
}