2012-05-20 2 views
0

좋아요, 그래서 내가 MySQL 데이터베이스에 삽입해야합니다 배열에 항목의 거대한 목록 (같은 500 +).Codeigniter/Mysql : 열 개수가 insert_batch()의 값 개수와 일치하지 않습니다?

I는 다음과 같이 배열 채워 루프가() 함수 나 내장 insert_batch를 사용하여 데이터베이스에 보내 다음

$sms_to_insert[] = array(
    'text' => $text, 
    'contact_id' => $contact_id, 
    'pending' => $status, 
    'date' => $date, 
    'user_id' => $this->userId, 
    'sent' => "1" 
); 

과 :

public function add_sms_for_user($id, $sms) { 
    //$this->db->delete('sms', array("user_id" => $id)); Irrelevant 
    $this->db->insert_batch('sms', $sms); // <- This! 
} 

오류 메시지를 I get은 다음과 같습니다 : 열 개수가 1 행의 값 개수와 일치하지 않습니다.

이제는 전혀 이해가되지 않습니다. 열은 배열의 키와 같으며 값은 키 값입니다. 그래서, 왜 작동하지 않습니까?

아이디어가 있으십니까?

+0

친절하게 CI의 버전을 언급 –

+0

나는 v2.0.2를 달리고있다. – qwerty

+0

시스템 폴더를 최신 업데이트 2.1.0으로 업데이트했습니다. 여전히 동일한 오류가 발생했습니다. 배열을 반복하고 insert()를 사용하여 삽입하려고합니다. 업데이트와 함께 돌아올 것입니다. – qwerty

답변

1

user_id은 어떤 경우에는 null으로 밝혀졌습니다. 그게 바로 오류의 원인입니다.

EDIT : insert_batch()를 배열 키에서 insert()를 실행하는 루프로 바꾸면 더 명확한 오류 메시지가 나타납니다.

관련 문제