【问题标题】:mysqli_real_escape_string with array_mapmysqli_real_escape_string 与 array_map
【发布时间】:2016-03-09 14:12:01
【问题描述】:

我正在尝试使用 array_map 和 mysqli_real_escape_string 清理 $_POST 数据

问题是,当我在 array_map 中使用 $link 变量时,它是否会以某种方式转换为字符串,我很确定我的语法是正确的,但是这个语法已经了解了我一段时间了。

这是我的(简化的)代码:

$link = mysqli_connect($host, $user, $password);
$row = array_map('mysqli_real_escape_string', $row, array($link, $row));

【问题讨论】:

  • 不要破坏 $_POST。并且不要自己逃跑。您应该使用带有占位符的准备好的语句,这样就不需要转义了。很少有使用情况下您不能使用准备好的语句并且必须自己转义值。
  • 感谢您的输入,我考虑准备好的语句已经有一段时间了,我想这就是我需要的推动力

标签: php


【解决方案1】:

虽然每个人都推荐 PDO,但如果您确实希望使用 mysqli class 来实现您想要的,您需要将 mysqli 链接和 real_escape_string 属性作为数组传递给 array_map,如下所示:

$link = mysqli_connect($host, $user, $password);
$escaped_row = array_map(array($link, 'real_escape_string'), $row);

【讨论】:

    猜你喜欢
    • 2013-08-11
    • 2018-01-20
    • 1970-01-01
    • 2016-05-02
    • 2021-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多