我有这个HTML表单:
<form method="post" action="display.php">
Enter First Name:<input type="name" name="fname"><br><br>
<input type="submit" value="Show details" name="submit">
</form>
我有这个SQL查询
$fname=$_POST['fname'];
$db = new mysqli("localhost", "root", "","school");
$sql= "SELECT * FROM class1 where fname=$fname";
//print_r($sql);
if($db->query($sql)) {
echo "Success query!";
} else {
echo "Error occurred!";
}
我在这里练习SQL注入。我试过这个:roger; DROP TABLE class1;--
但它没有成功。输入中的偶数roger OR 1=1
无效。
答案 0 :(得分:1)
mysqli::query()
不会执行多个查询。您必须使用$db->multi_query($sql)
,它将接受以;
分隔的多个查询。
此外,如果输入为roger or 1=1
,您将收到错误,因为该表没有名为roger
的列。输入需要有引号:'roger' or 1=1
。