gpt4 book ai didi

php - mysql_real_escape_string 和 array_map 返回空白字符串?

转载 作者:行者123 更新时间:2023-11-29 01:41:59 26 4
gpt4 key购买 nike

我还没有学会如何使用参数化查询(根据本网站上的一些其他帖子,这是我明天早上绝对需要做的第一件事),我想将大量表单数据放入查询中, 逃脱了。

我遇到过两次这个解决方案:

$_POST = array_map('mysqli_real_escape_string', $_POST);

据我所知,这通过转义函数运行 $_POST 数组中的所有变量。我已经看到 exact 行被投票,但是当我将它添加到我现有的 PHP 时,它会创建一堆空白值。

我的印象是 mysqli_real_escape_string 需要第二个参数——链接/连接。这是导致我的问题的原因吗?如果删除该行并且我的变量从 $_POST 中获取未转义的值,则数据在数据库中会很好。

最佳答案

array_map 返回新数组,如果您要覆盖 $_POST,更好的解决方案是使用 array_walk

array_walk($_POST, function(&$string) use ($link) { 
$string = mysqli_real_escape_string($link, $string);
});

请注意,$link 必须是有效连接。

Function [ <internal:mysqli> function mysqli_real_escape_string ] {

- Parameters [2] {
Parameter #0 [ <required> $link ]
Parameter #1 [ <required> $string_to_escape ]
}
}

关于php - mysql_real_escape_string 和 array_map 返回空白字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18625737/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com