我熟悉准备好的语句,并且我知道它们是防止 MySQL 注入的最佳实践。但我想知道这个 PHP/MySQL 语句如何可能面临注入攻击的风险:
$result = mysqli_query($db,"SELECT name FROM users WHERE id = '".$_POST['name']."';");
在我看来,用户的输入将包含在单引号内。您可以在一条语句中执行多个查询mysqli_query
吗?
此外,使上述安全就像这样简单......
$result = mysqli_query($db,"SELECT name FROM users WHERE id = '".mysqli_real_escape_string($_POST['name'])."';");