1

尝试将数组传递给更新 MySQL 表中数据的函数时,我遇到了一个奇怪的错误。

我的触发器

$input_data = array(
  'field0' => 'abc',
  'field1' => '123'
);

// var dump #1
var_dump($input_data);
// gives expected result (2 element array)

$this->user->update_user_info($input_data);

用户模型

function update_user_info($new_data) {
    // var dump #2
    var_dump($new_data);

    // this gives:
    // array(2) {
    //    ["field0"] => string(3) "abc"
    //    ["field1"]=> string(3) "123"
    // }
    // NULL
}

那个结尾的 NULL 是从哪里来的?我正在尝试将其与 Codeigniter 的活动记录更新类一起使用,但由于该 NULL 而失败。

我试图通过循环遍历 foreach 将它复制到一个新数组,但 NULL 值跟随新数组,即使它似乎不在数组中。

任何帮助,将不胜感激。

4

2 回答 2

0

NULL 显然不在数组中;它在第二次调用 update_user_info() 函数时打印。您应该尝试找出 update_user_info() 函数被调用两次的原因。

于 2012-05-22T17:45:12.277 回答
0

对上述“答案”表示歉意,我是该网站的新手,看不到评论按钮:p

我已经根据我自己的情况解决了这个问题,这可能适用于你。

正如我之前所说,我的问题是相同的,原因是没有正确返回两个函数 - 我返回了辅助函数,即我的数组被传递给的那个函数。

function update_user_info($new_data) {

    // var dump #2
    var_dump($new_data);
    return;

}

但是在第一个函数中,我在调用第二个函数后没有返回,希望这是有道理的,这对你也有帮助,这对我来说真是令人沮丧!

于 2012-06-08T17:27:43.513 回答