为什么不使用PDO rowCount()?

时间:2016-01-22 11:59:43

标签: php mysql pdo

我的数据库类型为MySQL,我使用PDOStatement::rowCount()来:

  1. 计算SELECT声明
  2. 上的选定行数
  3. UPDATE声明
  4. 上获取受影响的行
  5. DELETE声明
  6. 上获取已删除的行

    我没有任何问题,并且对我有效。

    但是,最近我看到了:

    1. php.net说:
    2.   

      对于大多数数据库,PDOStatement :: rowCount()不返回   受SELECT语句影响的行数。相反,使用   PDO :: query()发出SELECT COUNT(*)语句......

      1. 有人说在MySQL中使用COUNT(*)会更好,更快,而不是使用PDOStatement::rowCount() - link
      2. this answer说:
      3.   

        rowCount()是滥用最多的PDO函数。虽然我们几乎没有   需要每次申请一次或两次

        为什么?我经常使用这个功能! PDOStatement::rowCount()虽然对我有用,但是错了?

        编辑: 那么即使我不需要获取数据,这是计算像下面代码行的合适方法吗? :

        $stmt -> execute();
        $result = $stmt -> fetchAll();
        return count($result);
        

0 个答案:

没有答案