Sql_Srv只返回第一行

时间:2014-07-25 06:19:32

标签: php database oop sqlsrv

while($tab = $sMssql->fetchAssoc("SELECT * FROM [Tab]")){

echo "<pre>";
var_dump($tab);
echo "</pre>";

}

此代码一遍又一遍地返回第一行... 但我想要一个包含所有行的数组。

fetchAssoc代码:

public function fetchAssoc($mQuery) {
    return sqlsrv_fetch_array(sqlsrv_query($this->mSqlConnection, $mQuery), SQLSRV_FETCH_ASSOC);
}

1 个答案:

答案 0 :(得分:0)

在函数fetchAssoc()中,sqlsrv_fetch_array()只被调用一次。在循环中调用它来迭代所有记录。

在你的代码中,你有查询执行的while循环,这是错误的。重新表示while循环并将循环放在fetchAssoc()中。

喜欢:

$mQuery= $sMssql->fetchAssoc("SELECT * FROM [Tab]");
$result = sqlsrv_query($this->mSqlConnection, $mQuery);

while($tab = sqlsrv_fetch_array($result , SQLSRV_FETCH_ASSOC)){

    echo "<pre>";
    var_dump($tab);
    echo "</pre>";

}