【问题标题】:PHP array_walk() expects parameter 1 to be array, null givenPHP array_walk() 期望参数 1 是数组,给定 null
【发布时间】: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


【解决方案1】:

答案在于错误本身!

array_walk() expects parameter 1 to be array, null given

您的$get_data 变量值为空。问题不在于函数本身,而在于函数调用。

请发布调用您的函数的代码,以便我们提供帮助。

【讨论】:

  • 我已经发布了。
【解决方案2】:

您从不设置 $get_data 变量。

get_user($get_data);

【讨论】:

    猜你喜欢
    • 2015-08-25
    • 1970-01-01
    • 2019-06-01
    • 2014-06-28
    • 1970-01-01
    • 2020-08-15
    • 2018-01-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多