如何计算MySQL表中的行数?

时间:2015-06-23 21:31:02

标签: php mysql

我知道在MySQL内部,您可以使用:

SELECT COUNT(*) FROM table

我在PHP中编写了以下代码以显示页面上的行数:

$sql = 'select * from users';
$data = $conn -> query($sql);
echo $data;

但是当我运行它时,我收到以下错误:

  

捕获致命错误:第44行的[目录]中无法将类PDOStatement的对象转换为字符串。

我认为问题是返回的值不是字符串形式。如果这是正确的,我怎么能显示页面上的行数?

3 个答案:

答案 0 :(得分:4)

如果要计算行数,可以使用PDO执行此操作:

$sql = 'select * from users';
$data = $conn->query($sql);
$rows = $data->fetchAll();
$num_rows = count($rows);

答案 1 :(得分:0)

嗯,你不是很糟糕,你几乎就在那里:

$sql = 'SELECT COUNT(*) as numrow FROM users';
$data = $conn -> query($sql);
rows = $data->fetchAll();

根据返回数据的类型,您可以使用

$rows->numrow如果返回数据是对象

答案 2 :(得分:0)

有一些简单快捷的方法可以做到这一点

  1. COUNT 查询和提取
  2. 中的列
      

    $ sql =“SELECT COUNT(id)AS total_row FROM table_name”;
      $ stmt = $ conn-> query($ sql);
      $ stmt->执行();
      echo $ count ['total_row'];

    1. 使用 rowCount()
    2.   

      $ sql =“SELECT * FROM table_name”;
        $ stmt = $ conn-> query($ sql);
        $ stmt->执行();
        $ count = $ stmt-> rowCount();
        echo $ count;