I am trying to get the number of rows returned in a query. The while loop looping through the results works, but for some reason the sqlsrv_num_rows does not return any value:
$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';
}
Thanks.
It is because
sqlsrv_query()
usesSQLSRV_CURSOR_FORWARD
cursor type by default. However, in order to get a result fromsqlsrv_num_rows()
, you should choose one of these cursor types below:For more information, check: Cursor Types (SQLSRV Driver)
In conclusion, if you use your query like:
you will get result in: