在使用预准备语句时,是否有理由在$ _GET或$ _POST变量上使用(mysqli_real_escape_string)进行清理?

时间:2014-01-09 21:37:05

标签: php mysqli

$name = mysqli_real_escape_string($connection, $name);

或者这可以吗?

$name = $_GET["name"];

$stmt = $dbConnection->prepare('SELECT * FROM employees WHERE name = ?');
$stmt->bind_param('s', $name);

$stmt->execute();

$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
  // do something with $row
}

2 个答案:

答案 0 :(得分:2)

没有。你最终会双重逃避。绑定参数是手动转义的替代。

答案 1 :(得分:2)

不,你不必。准备工作已经为你做了一切。