0

In php-mysql, how to count number of rows returned within a SELECT query?
let's think of the SELECT query something like this:

$q = "SELECT * from users LIMIT 20,60"

But if total number of records was just for example 55, The results is users from 20 to 55 with a total number of 35 not 40!
How can I have the number 35 without querying the DB twice?
now I am doing like this:

$q = "SELECT COUNT(*) from users LIMIT 20, 60";
$result = mysqli_query($db_connection, $1);
$count = mysqli_fetch_row($result);
$count = $count[0];

But here I am querying the DB twice and I think this is not so good.
I know that I could have the total number of rows without considering the LIMIT, using SQL_CALC_FOUND_ROWS and FOUND_ROWS(), but this is not my case, as I want to consider the LIMIT.
Thanks!

2 Answers 2

4

You want to num_rows

$count = $result->num_rows;
Sign up to request clarification or add additional context in comments.

2 Comments

Thanks! I will check it and accept you answer. but is this the same az mysqli_num_rows($result); ?
Yup. According to the page: Object oriented style -- int $mysqli_result->num_rows; Procedural style -- int mysqli_num_rows ( mysqli_result $result )
0

you can use

$q = "SELECT COUNT(*) from users LIMIT 20, 60";
$result = mysqli_query($db_connection, $1);
$count = mysqli_num_rows($result);

mysqli_num_rows() returns no. of rows

2 Comments

Thanks! does your answer the same result as anyber's answer? I mean $result->num_rows.
i think in your case my answer is perfect, because anyber's answer is for Object oriented query

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.