PHP中的sqlsrv_fetch_array函数不起作用

时间:2016-10-28 17:24:12

标签: php sql sql-server sqlsrv

我在网站的很多页面中使用了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。 有没有人知道它为什么会发生?

2 个答案:

答案 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 />";
    }