Php 为什么不注入此sql
我有这个HTML表单:Php 为什么不注入此sql,php,mysql,sql-injection,Php,Mysql,Sql Injection,我有这个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注入。我试过:roger;升降台1级-
<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注入。我试过:roger;升降台1级--代码>但它不起作用。即使输入中的roger或1=1
也不起作用。mysqli::query()
将不会执行多个查询。您必须使用$db->multi_query($sql)
,它将接受由分隔的多个查询代码>
此外,如果输入是roger或1=1
,您将得到一个错误,因为该表没有名为roger
的列。输入需要有引号:'roger'或1=1
什么意思不工作
?发生了什么?简单地说,在尝试注入一些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!";
}