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 valu
It is because sqlsrv_query() uses SQLSRV_CURSOR_FORWARD cursor type by default. However, in order to get a result from sqlsrv_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:
$query = sqlsrv_query($conn, $result, array(), array( "Scrollable" => 'static' ));
you will get result in:
$row_count = sqlsrv_num_rows($query);