我试图获取查询中返回的行数.循环遍历结果的while循环有效,但由于某种原因,sqlsrv_num_rows不返回任何值:
$result = "SELECT * from dtable WHERE id2 = 'apple'";
$query = sqlsrv_query($conn, $result);
$row_count = sqlsrv_num_rows($query);
echo $row_count;
while($row = sqlsrv_fetch_array($query))
{
echo 'yes';
}
Run Code Online (Sandbox Code Playgroud)
谢谢.
alp*_*yol 22
这是因为默认sqlsrv_query()使用SQLSRV_CURSOR_FORWARD游标类型.但是,为了获得结果sqlsrv_num_rows(),您应该选择以下这些游标类型之一:
有关更多信息,请检查:游标类型(SQLSRV驱动程序)
总之,如果您使用以下查询:
$query = sqlsrv_query($conn, $result, array(), array( "Scrollable" => 'static' ));
Run Code Online (Sandbox Code Playgroud)
你会得到结果:
$row_count = sqlsrv_num_rows($query);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
21422 次 |
| 最近记录: |