我有一个现有的 MySQLi 查询:
$conn = dbConnect('query');
$galNumb = "SELECT COUNT(pj_gallery_id) FROM pj_galleries WHERE project = {$project}";
$gNumb = $conn->query($galNumb);
$row = $gNumb->fetch_row();
$galTotal = $row[0];
这将计算每个项目与 $project 中包含的查询字符串中的值匹配的画廊数量。
它工作完美,但与准备好的语句相比并不安全。我已经研究了两天,无法学习如何将此语句写为准备好的语句。任何和所有的帮助都将不胜感激。
更新: 我在这里坐以待毙。我只需要展示如何将上述代码编写为准备好的语句。这种事情并没有像学习 PHP 那样在我的大脑中产生共鸣,我只是没有得到任何这些。PHP 手册令人困惑,似乎是为已经了解 PHP 的人编写的。
简而言之,我需要上述代码的准备好的语句版本,以便我可以在页面上回显结果。目前,在我的数据库中,数字应该是 3,并且它始终返回 1。
我希望我知道更多,以便更好地表达我的问题,但唉,我还在学习。我很抱歉。
更新 2: 根据建议和研究,我编写了这个查询,但它总是返回值 1,无论数据库中实际有什么:
$galNumb = "SELECT COUNT(pj_gallery_id) FROM pj_galleries WHERE project_part = ?";
$stmt = $conn->prepare($galNumb);
$stmt->bind_param('i', $project);
$gNumb = $stmt->execute();
同样,我要做的就是计算每个项目中有多少画廊。我知道这应该很简单,但它不适合我。数据库中目前有 1 个项目和 3 个画廊。查询应返回 3。