php – 将此MySQLi查询编写为预准备语句
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 将此MySQLi查询编写为预准备语句,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1781字,纯文字阅读大概需要3分钟。
内容图文
我有一个现有的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();
同样,我想做的就是COUNT每个项目中有多少个画廊.我知道这应该很简单但不适合我.目前DB中有1个项目,有3个画廊.查询应该返回3.
解决方法:
这很简单.这将准备一个sql语句,执行它并获取第一行.
<?php
// create the prepared statement
$stmt = $conn->prepare('SELECT COUNT(pj_gallery_id) FROM pj_galleries WHERE project = ?');
// bind a variable to the statment
// the character denotes the type of the variable
// 's' for string
// 'i' for integer
$stmt->bind_param('i', $project);
// execute the query
$stmt->execute();
// get the result variable
$result = $stmt->get_result();
// fetch the row
$row = $result->fetch_row();
if ($row) {
echo "The count is " . $row[0];
}
?>
文档非常简单.底部有一个代码示例.
http://php.net/manual/en/mysqli.prepare.php
内容总结
以上是互联网集市为您收集整理的php – 将此MySQLi查询编写为预准备语句全部内容,希望文章能够帮你解决php – 将此MySQLi查询编写为预准备语句所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。