或者在这种情况下不需要调用real_escape_string()? /电子邮件值来自用户输入./
function findUser($email)
{
$mysqli = connectDB();
$email = $mysqli->real_escape_string($email);
$query = "CALL FindUser('{$email}')";
// ...
}
答案 0 :(得分:1)
您只是构建一个包含过程调用的动态SQL字符串,该过程调用可能会受到攻击。只要在过程中不使用动态SQL,就应该将参数绑定到过程,这样可以提供一些保护。
答案 1 :(得分:1)
是的,您仍然需要将其转义,存储过程与常规查询一样容易受到攻击。