【问题标题】:mysqli_real_escape_string() for entire $_POST array in php [duplicate]php 中整个 $_POST 数组的 mysqli_real_escape_string() [重复]
【发布时间】:2018-05-17 09:03:38
【问题描述】:

我有 $_POST 有 20 个键。我想为整个$_POST 数组应用mysqli_real_escape_string()。那么,我应该将mysqli_real_escape_string() 分别应用于所有 20 个键吗?或者是否有任何循环或任何特定功能可用?

我的 Post 数组如下例所示:

$_POST =array(
      "A1"=>'xxxxxxxx',
      "A2"=>'xxxxxxxx',
      ........
      ........
      ........
      ..........
      .........
      .........
      "A20"=> 'xxxxxxxxx'
);

【问题讨论】:

  • STOP!! “我想对整个 $_POST 数组应用 mysqli_real_escape_string()”——这对于几乎所有问题来说都是一个糟糕的解决方案。数据应该在最后一刻被转义,然后再用于任何用途(即在插入 SQL 之前,而不是在它从 HTTP 出来之后)。更重要的是,应避免使用 mysqli_real_escape_string 以支持绑定变量/准备好的语句。

标签: php post mysqli mysql-real-escape-string


【解决方案1】:

你可以这样做:

$escaped = array_map(function($var) use ($mysqli){
    return mysqli_real_escape_string($mysqli, $var);
},$_POST);

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2018-01-20
  • 2019-01-17
  • 1970-01-01
  • 2012-09-07
  • 2013-04-27
  • 1970-01-01
  • 2012-04-22
  • 2014-08-24
相关资源
最近更新 更多