PDO计数返回相同的值

时间:2014-03-14 15:06:04

标签: php

我是PDO的新手,我正在尝试使用" mysql_num_rows"获取与我们过去使用" mysql_num_rows"获得的相同值的相同值,但是返回" 1"应该返回的地方" 0":

下面的函数返回" 1",它应该返回" 0"

public function countdata($field, $table, $where = "1") {
    $ar = $this->pdo->prepare("SELECT COUNT(`" . $field . "`) FROM `" . $table . "` WHERE " . $where . "");
    $ar->execute();
    $cnt=$ar->fetchColumn();
    return $cnt;
}

2 个答案:

答案 0 :(得分:1)

这个问题以及背后的迷信是duplicate

你实际上既不需要mysql_num_rows,也不需要rowCount,也不需要你的不安全功能。它写得很好,我不得不承认 - 比平常发布的东西要好得多。但它有一个重要的缺陷 - 它不支持准备好的陈述 - 毕竟是使用PDO的唯一原因。

而且,如上所述 - 它只是没用。如果你仔细想想,你会发现,每当你想要从这样的功能中获得某些东西时,你就已经拥有了它。

答案 1 :(得分:-1)

这个方面的工作:

public function countdata($field, $table, $where = "1") {
$ar = $this->pdo->prepare("SELECT COUNT(`" . $field . "`) FROM `" . $table . "` WHERE " . $where . "");
$ar->execute();
$cnt=$ar->rowCount();
return $cnt;

}