I\'m using sqlsrv_num_rows
in order to check if a user exists in the DB.
When i\'m running the query in my DB i\'m getting 1 result, but in my PHP I\'m not
Explanations:
sqlsrv_num_rows()
requires a client-side, static, or keyset cursor, and will return false
if you use a forward cursor or a dynamic cursor (the default cursor is forward cursor). Execute sqlsrv_query()
with additional $options
parameter and set the appropriate cursor type with "Scrollable" => SQLSRV_CURSOR_KEYSET
sqlsrv_query()
does both statement preparation and statement execution and can be used to execute parameterized queries.sqlsrv_has_rows()
.Example, based on your code:
SQLSRV_CURSOR_KEYSET);
$stmt = sqlsrv_query( $conn, $query, $params, $options);
if ($exec === false){
echo print_r( sqlsrv_errors());
echo "
";
return (false);
}
$count = sqlsrv_num_rows($stmt);
if ($count === false) {
echo print_r( sqlsrv_errors());
echo "
";
return (false);
} else {
echo "num: ".$count;
}
?>
Notes:
Do not send user credentials in plain text.