【问题标题】:PHP - Return count(*) results [duplicate]PHP - 返回计数(*)结果[重复]
【发布时间】:2014-11-07 10:47:51
【问题描述】:

如何使用 PDO 返回计数的行数

这是我的代码:

$n=$dbh->prepare("SELECT count(*) FROM users_notifications WHERE userid=0 OR userid=:userid");
$n->bindParam(":userid",$userdata['id']);
$n->execute();
$notifications = count($n);

这仅返回 1。虽然我在数据库中运行查询时有 2 个结果:SELECT count(*) FROM users_notifications WHERE userid=0 OR userid=:userid

【问题讨论】:

标签: php mysql sql pdo


【解决方案1】:

count SQL 函数是一个聚合函数,它返回 一行,其中行数与 where 子句匹配。

PHP 的count 返回结果集中的行数,如上一段所述,该行数应该是1。相反,您应该检索结果 column 的值。例如:

$n=$dbh->prepare("SELECT count(*) as c FROM users_notifications WHERE userid=0 OR userid=:userid");
$n->bindParam(":userid",$userdata['id']);
$n->execute();
$result = $n->fetch(PDO::FETCH_ASSOC);
$notifications = $result['c'];

【讨论】:

    猜你喜欢
    • 2013-03-29
    • 1970-01-01
    • 2019-10-08
    • 2013-04-22
    • 2023-03-26
    • 2016-01-22
    • 1970-01-01
    • 2015-02-24
    • 2023-03-26
    相关资源
    最近更新 更多