我在网站的很多页面中使用了sqlsrv_fetch_array
功能,
但出于某种原因,在特定情况下,它不起作用。
我在SQL中手动发送了查询,它运行正常。 以下是我发送的查询结果:
4721 fino fino@gmail.com Apr 28 2016 7:27PM 127.0.0.1 3 3 Fino Nab MA educ 1 1 60 NULL Danda
处理结果的变量名称为$infoQuery
。
当我打印sqlsrv_num_rows($infoQuery)
时,结果为1(正确的结果)。
echo sqlsrv_num_rows( $infoQuery ); // result is 1 ( correct result )
但是当我尝试这样做时:
while( $row = sqlsrv_fetch_array( $infoQuery ) ) {
echo "Just printing..";
}
它什么都不打印,这意味着它不起作用。 我使用的是PHP 7,SQL SERVER 2012,Windows 7。 有没有人知道它为什么会发生?
答案 0 :(得分:0)
确保加载自述文件中列出的两个dll: 延长= php_sqlsrv_56_ts.dll 延长= php_pdo_sqlsrv_56_ts.dll
答案 1 :(得分:-1)
试试这个:
while( $row = sqlsrv_fetch_array( $infoQuery, SQLSRV_FETCH_ASSOC ) ) {
echo "Just printing..";
}
如果你弄错了,你可以检查你得到的错误:
foreach( sqlsrv_errors() as $error ) {
echo "SQLSTATE: ".$error[ 'SQLSTATE']."<br />";
echo "code: ".$error[ 'code']."<br />";
echo "message: ".$error[ 'message']."<br />";
}