array_map show mysql_real_escape_string() 需要参数 1 [重复]

2023-12-30

可能的重复:
mysql_fetch_array() 期望参数 1 是资源,在 select 中给出的布尔值 https://stackoverflow.com/questions/2973202/mysql-fetch-array-expects-parameter-1-to-be-resource-boolean-given-in-select

当我使用时

array_map('mysql_real_escape_string', $_POST);

it display

    Warning: mysql_real_escape_string() expects parameter 1 to be string, array given in D:\xampp\htdocs\...\...\xyz.php on line 14

那之后的原因是什么?

EDIT:如果我使用

array_walk_recursive($_POST, 'mysql_real_escape_string');

然后它显示

Warning: mysql_real_escape_string() expects parameter 2 to be resource, integer given in D:\xampp\htdocs\..\...\xyz.php on line 17

请还告诉我以上两种方法的区别? 先感谢您


我假设其中一个要素$_POST确实是一个数组,可视化如下:

print_r($_POST);

Array
(
 ...
    'element' => Array
    (
        'subelement' => 'some value'
    )
 ...
)

When array_map试图给出的值$_POST['element'] to mysql_real_escape_string,它会抛出您所描述的错误。

不过,您可以尝试将调用包装起来,沿着这个(未经测试的)函数进行一些操作:

function recursive_escape(&$value) {
    if (is_array($value))
        array_map('recursive_escape', $value);
    else
        $value = mysql_real_escape_string($value);
}

array_map('recursive_escape', $_POST);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

array_map show mysql_real_escape_string() 需要参数 1 [重复] 的相关文章

随机推荐