我一直在花时间学习 MySQLi 中的预处理语句。我使用 David Powers 的 PHP Solutions Second Edition 作为参考。
此查询从特定图库中提取随机照片文件名。画廊编号是一个变量 ($i)。这是有效的,我只是想知道它是否写得正确。我的网站相当简单,但我想避免 SQL 注入。
$conn = dbConnect('query');
$randPic = "SELECT p_fname
FROM photos
WHERE g_id = ?
ORDER by RAND()
LIMIT 1";
$gid = $i;
$stmt = $conn->prepare($randPic);
$stmt->bind_param('i', $gid);
$stmt->bind_result($p_fname);
$stmt->execute();
$stmt->store_result();
$stmt->fetch();
在需要随机照片的页面上,我可以通过变量调用它:
echo $p_fname;
再一次,这一切都有效。我只想知道这是否编码正确。