2012-05-16 6 views
1

MySQL 테이블의 데이터를 업데이트하는 함수에 배열을 전달하려고 할 때 이상한 오류가 발생합니다.함수에 전달 된 배열에 NULL이 추가되었습니다.

내 트리거

$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 값은 배열에있는 것처럼 보이지 않지만 새 배열에 따라옵니다.

도움을 주시면 감사하겠습니다.

+0

이것을'print_r ($ new_data)'로 확인할 수 있습니까? – sarwar026

+0

어떤 도우미로부터 모델을 호출하고 있습니까? –

+0

'var_dump ($ new_data); die()'를 시도하고 결과를 확인하십시오. – NAVEED

답변

0

사과, 나는 사이트에 새로 온 사람과 주석 버튼을 볼 수 없었다 : P

난 후로는 아마도 내 자신의 상황의 관점에서이 문제 해결이 월 너에게 적용 해.

앞에서 말했듯이 내 문제는 동일하므로 원인에 따라 두 함수가 올바르게 반환되지 않았습니다. 즉 보조 배열 즉, 배열에 전달 된 보조 함수가 반환되었습니다.

function update_user_info($new_data) { 

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

} 

하지만 의미가 이것이 당신도 도움이 처음 내가 두 번째 함수를 호출 후 반환되지 않은 기능, 희망, 그것은 나를 지옥으로 좌절했다 !

0

NULL은 분명히 배열에 없습니다. update_user_info() 함수에 대한 두 번째 호출에서 인쇄됩니다. update_user_info() 함수가 두 번 호출되는 이유를 찾아야합니다. 위의 '대답'에 대한

관련 문제