【问题标题】:How to count the number of rows in MySQL using PHP PDO如何使用 PHP PDO 计算 MySQL 中的行数
【发布时间】:2017-06-03 10:42:26
【问题描述】:

这是我的代码:

<?php

function result($conn) {
      global $number;

    $sql = 'SELECT movie_name FROM movie_info LIMIT 3 OFFSET 0';
    foreach ($conn->query($sql) as $row) {
        print " ". $row['movie_name'] . " <br> ";

    }
}
result($conn);
?>

我真的很困惑,如何统计表格的行数并打印出来?

【问题讨论】:

  • 你要数哪里? $number 在哪里使用? $conn-&gt;query返回一个结果对象,你应该fetch它。
  • 选择计数(*)
  • 我自己是新手,但我认为stackoverflow.com/questions/1893424/count-table-rows 可能会对您有所帮助。
  • PHP PDO - Num Rows的可能重复
  • SELECT COUNT(movie_name)(最可靠)或 PDO rowCount()(这可能并不总是有效;请阅读手册),有很多可能性。

标签: php mysql pdo


【解决方案1】:

如果您有一个 PDO 对象与您的数据库的 PDO 连接 - (我们称之为 $con) 你可以准备一个像

这样的声明
     $stmt = $con->prepare('SELECT movie_name FROM movie_info LIMIT 3 OFFSET 0');

     // Then fire it up
     $stmt->execute();

     // Pick up the result as an array
     $result = $stmt->fetchAll();

     // Now you run through this array in many ways, for example
     for($x=0, $n=count($result); $x < $n; $x++){
         echo $result[$x]['movie_name'];
     } 

count($result) 保存你的结果数

【讨论】:

  • 如果你想做你的输出并且你需要知道你必须做多少行,我认为这个例子是最简单的方法。还有一点副作用是 for 循环比 foreach 有更好的性能。
  • 你只需要使用 $count = $stmt->rowCount();恢复受影响的行。
【解决方案2】:

我猜你可以做到这一点

SELECT count(*) FROM movie_info

上面的代码将返回存储在该表中的数据计数,

【讨论】:

    【解决方案3】:

    这是我的建议

    $moviescount = $db->query('SELECT COUNT(`movie_name`) FROM `movie_info` LIMIT 3 OFFSET 0')->fetchColumn();
    

    echo moviescount; // for example 10034
    

    【讨论】:

      猜你喜欢
      • 2017-12-04
      • 1970-01-01
      • 2012-07-20
      • 1970-01-01
      • 1970-01-01
      • 2011-10-03
      • 2013-02-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多