2

I just want to count the number of rows in a table that already created in a database using php. I used mysqli(). I need the number of rows in the table as the output.

1
  • You'll get better answers if you post your code and tell us where exactly you're having problems. Commented Nov 26, 2014 at 9:17

6 Answers 6

3
 <?php
  $mysqli = new mysqli("hostname", "dbusername", "dbpassword", "dbname");

   /* check connection */
   if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
     exit();
   }

  if ($result = $mysqli->query("SELECT count(*) cc FROM tablename")) {

     /* fetch the first row as result */
     $row = $result->fetch_assoc();

    printf("Result set has %d rows.\n", $row['cc']);

   /* close result set */
    $result->close();
 }

 /* close connection */
 $mysqli->close();
?>

In fact it's a common question you can find the answer anywhere.

Like, http://php.net/manual/en/mysqli-result.num-rows.php

You could separate this problem in to two

  1. I wanna know how to connect to mysql.
  2. I wanna know how to write that sql instruction.
Sign up to request clarification or add additional context in comments.

1 Comment

Well, you and @RajibGhosh copypasted the same code, but unfortunately it's wrong. The result will always be 1.
1
 <?php
  $mysqli = new mysqli("hostname", "dbusername", "dbpassword", "dbname");

   /* check connection */
   if (mysqli_connect_errno()) {
    printf("Connect failed: %s\n", mysqli_connect_error());
     exit();
   }

  if ($result = $mysqli->query("SELECT columnName from tablename")) {

    /* determine number of rows result set */
     $row_cnt = $result->num_rows;

    printf("Result set has %d rows.\n", $row_cnt);

   /* close result set */
    $result->close();
 }

 /* close connection */
 $mysqli->close();
?>

EDIT:

$result = $db->query("SELECT COUNT(*) FROM `table`");
$row = $result->fetch_row();
echo '#: ', $row[0];

2 Comments

That's better, but still no cigar. There's no need to fetch all rows just to count them. count(*) is a better option.
@georg please check my updated comment.now is it ok :)
0

Try simple query like:

SELECT COUNT(*) AS count
FROM mytable

Comments

0

If you dont want to use COUNT in SQL, you can just select all rows (SELECT id FROM table) and then just use PHP count().

Comments

0

also you simply do this

 "SELECT COUNT(*) AS `Rows`, `any column` FROM `tablename` GROUP BY `any column` ORDER BY `any column` "

1 Comment

Please add some explanation about your answer.
-1

mysqli_num_rows should do the trick if you want to count the rows in php.

Comments

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.