【发布时间】:2015-09-22 11:34:24
【问题描述】:
我在一个网站上工作,我希望使用 SQL 查询来计算登录用户 ID 在数据库表中显示的次数。为了实现这一点,我创建了一个 PHP 函数,其中包含 SQL 查询。
PHP函数:
function count_by_user_id() {
global $conn, $counts;
$stmt = $conn->prepare("SELECT COUNT(`user_id`) AS `returnCount` FROM `table` WHERE `user_id` = :id;");
$stmt->execute([
":id" => $_SESSION["user_id"]
]);
$data = $stmt->fetch(PDO::FETCH_ASSOC);
$counts["returnCount"] = $data["returnCount"];
}
返回的结果应该存储在一个名为$counts["returnCount"]的变量中,然后显示在另一个页面上,名为count.php。
count.php
<div class="data"><?=htmlspecialchars($counts["returnCount"]); ?></div>
不幸的是,count.php 上没有显示任何内容,我似乎无法弄清楚原因。
所以我的问题是,我如何计算user_id 在table 中出现的次数,并将结果显示在count.php 上?
【问题讨论】:
-
$data是否已填充? -
@chris85,我假设是这样 - 我的其他 SQL 查询工作正常,并使用 PDO 显示在
count.php上。这似乎是给我带来问题的 COUNT 查询。 -
检查,试试
print_r($data);。 -
@chris85,我刚刚尝试使用您建议的代码,看起来好像没有填充
$data。 -
返回任何错误信息?查询是否直接在 DB 上工作?