在尝试将数组传递给更新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的活动Record Update类一起使用,并且因为NULL而失败。
我试图通过循环遍历foreach将其复制到新数组,但NULL值跟随新数组,即使它似乎不在数组中。
任何帮助都将不胜感激。
答案 0 :(得分:0)
NULL显然不在数组中;它在第二次调用update_user_info()函数时打印。您应该尝试找出update_user_info()函数被调用两次的原因。
答案 1 :(得分:0)
对上述“答案”表示歉意,我是网站的新用户,无法看到评论按钮:p
我已经根据自己的情况解决了这个问题,这可能适用于你。
正如我之前所说,我的问题是相同的,原因是没有正确返回两个函数 - 我返回了辅助函数,即我的数组传递给的那个函数。
function update_user_info($new_data) {
// var dump #2
var_dump($new_data);
return;
}
但是在第一个函数中,我在调用第二个函数后没有返回,希望这有意义并且这对你有帮助,对我来说这真是令人沮丧!