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