我有一个发送到外部网站的用户表单,该网站的响应包含一个唯一代码(如“a87ju89y”)。该代码对我很重要,因此,我使用准备好的语句将其输入到我的数据库中。
在后端我有一个 cronjob,它每分钟运行一个 php 脚本来查询数据库以查看是否有这样的新代码:
$con = mysqli_connect($servername, $username, $password, $database);
if (mysqli_connect_errno()){
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$results = mysqli_query($con, "SELECT user FROM stack ORDER BY ID");
$cronresults = mysqli_query($con, "SELECT run FROM kook ORDER BY ID");
$row = mysqli_fetch_assoc($results);
$cron = mysqli_fetch_assoc($cronresults);
$row2 = $row['user'];
$cron2 = $cron['kook'];
我的问题是,我是否需要准备好的语句来简单地提取信息并防止某种 SQL 注入(inject)?如果我这样做,我会怎么做?
最佳答案
此处不需要准备好的语句,因为您没有将任何数据传递到查询中。准备好的语句将查询分解为查询本身(带有占位符)和要处理的数据。这样就不会混淆什么是数据什么是查询。
选择表格中的所有行不需要数据。
关于php - 第二阶段SQL注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39009475/