【发布时间】:2017-03-25 13:53:14
【问题描述】:
function get_user($get_data){
global $session_user_id;
$update= array();
array_walk($get_data, 'array_sanitize');
foreach ($get_data as $field => $data) {
$update[] = '`'. $field . '` =\''.$data .'\'';
}
mysql_query("UPDATE `user_post` SET " . implode(', ', $update) . " WHERE `email` = $session_username");
}
php代码发送数据
<?php
if(empty($_POST['update']) === false && empty($errors) === true){
$update_data = array(
'fullname' => $_POST['fullname'],
'username' => $_POST['username'],
'email' => $_POST['email'],
);
update_user($update_data);
get_user($get_data);
} else if (empty($errors) === false){
echo output_errors($errors);
}
?>
您好,我在运行此代码时收到此错误:
array_walk() 期望参数 1 是数组,给定 null
谁能帮忙?
【问题讨论】:
-
传递 array_walk 一个数组作为它的第一个参数,而不是 null。
-
您的
$get_data参数为空。你必须检查你是否真的将任何数据传递给函数。 -
请发布您用来调用
get_user函数的代码 -
我不喜欢那个功能。它不使用准备好的语句,而且几乎可以肯定有一些东西会通过
array_sanitize(如果你将数组的单个项目传递给它,无论如何都会被错误地命名) -
@JensV 问题是,我将一个数据传递给两个更新的函数,这是正确的方法吗?
标签: php