我正在研究测试页面,并且在阅读后我在查询中使用了MySQLi预处理语句,这使我的代码在SQL注入中变得安全.到目前为止,我已经成功完成了从我的数据库中检索数据的准备语句,这一切都很有效.
我现在要做的是使用SELECT COUNT(*)计算项目中的图库数量.而已.
如果不使用预准备语句,我的旧查询看起来像这样:
// count number of galleries per project
$conn = dbConnect('query');
$galNumb = "SELECT COUNT(*) FROM pj_galleries WHERE project = {$pjInfo['pj_id']}";
$gNumb = $conn->query($galNumb);
$row = $gNumb->fetch_row();
$galTotal = $row[0];
Run Code Online (Sandbox Code Playgroud)
但是对于我所有的阅读和搜索互联网,我都找不到正确的方法来写这个作为准备好的声明.
我photos在MySQL数据库中有一个表,其中包含照片文件名和其他相关信息.结构如下:
+----------+------------+-------------+
| photo_id | gallery_id | photo_fname |
|----------|------------|-------------|
| 1 | 1 | DSC2001 |
| 2 | 1 | DSC2002 |
| 3 | 1 | DSC2003 |
| 4 | 2 | DSC2004 |
| 5 | 2 | DSC2005 |
| 6 | 2 | DSC2006 |
| 7 | 3 | DSC2007 |
| 8 | 3 | DSC2008 |
| 9 | 3 | DSC2009 |
+----------+------------+-------------+
Run Code Online (Sandbox Code Playgroud)
我想要做的是编写一个返回每个图库的第一个照片文件名的查询,如下所示:
+----------+------------+-------------+
| photo_id …Run Code Online (Sandbox Code Playgroud) 我理解它是如何LIMIT工作的,但我想知道是否有办法在之前设置数据库查询的起点LIMIT.这可能吗?我对此有意义吗?