【发布时间】:2017-09-12 06:29:26
【问题描述】:
我正在使用 php 的 sqlsrv 扩展,但在从简单查询中获取行时遇到问题。 我的查询是一个选择,它应该返回 133228 行,但是在尝试显示行时我只得到 15 行。 我已经搜索了答案,但找不到解决方案,这是我第一次使用此扩展程序。我已经找到了关于同一问题的上一个问题的答案,但在这种情况下,问题是 sqlsrv_fetch_array 的双重调用,我不确定。
这是我的查询:
$sql = 'select * from ViewProduct';
$params = array();
$options = array('Scrollable' => SQLSRV_CURSOR_KEYSET);
$stmt = sqlsrv_query($dbRemote, $sql, $params, $options);
$count = sqlsrv_num_rows($stmt);
if ($count === false)
echo "Error in retrieveing row count.";
else
echo $count;
//$rows = array();
while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
print_r($row);
echo "<br>";
//$rows[] = $row;
}
正如我所说,上面的查询在应该是 133228 行时返回 15。
我错过了什么? 提前谢谢你。
【问题讨论】:
-
您可以尝试禁用
sqlsrv_num_rows行并忽略$options(sqlsrv 将使用默认游标类型SQLSRV_CURSOR_FORWARD)。