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

标签 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
}

最佳答案

没有。你最终会双重逃避事情。绑定(bind)参数替代了手动转义。

关于php - 使用准备好的语句时,是否有理由在 $_GET 或 $_POST 变量上使用 (mysqli_real_escape_string) 进行清理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21031697/

相关文章:

php - MySQL更新电子邮件地址并为其分配IP

php - 使用 HABTM 模型的 CakePHP 分页

php - 多对多关系中选择的解决方案

php - MySQLI 问题

PHP 循环不会遍历每一行

php - Android登录注册时响应不包含任何数据

View 的PHP MySQL查询在应该有结果时返回0结果

PHP 将生成的数组插入 MySQL 数据库

php - 如何在 Xampp for Mac 上安装 ffmpeg 和 lame?

php - 通知 : Trying to get property of non-object in with num_rows