可能的重复:
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(使用前将#替换为@)