$test = array(
array(
'id' => '2' ,
'set_new' => '1' ,
'set_today' => '1' ,
'set_now' => '1'
),
array(
'id' => '3' ,
'set_new' => '1' ,
'set_today' => '1' ,
'set_now' => '1'
)
);
return $this->db->update_batch($this->mytbl, $test, 'id');
이런걸 연습하고 있는데요..Severity: Notice
Message: Array to string conversion
Filename: database/DB_active_rec.php
Line Number: 1407
근데 신기한건요~
에러는 나지만 DB에 데이터는 저장이 되네요....
그래서 update_batch 문 바로 밑에다가 last_query()로 SQL문을 나오게 해서 그걸 긁어서 직접 DB에 넣어 보면 문제없이 잘 실행 되구요~
$not[] = $k.'-'.$v;
$not[] = $k2.'-'.$v2;
원인은 C 언어에서 스트링은 char의 배열로 되기 때문에 $not[]은 스트링을 의미할 수도 있습니다. php 역시 스트링도 동일하게 적용되는데 $str = 'abcd';라고 한다면 echo $str[0]; 하면 화면에 'a'를 프린트합니다.
위의 경고는 array로 여겨진 변수가 스트링으로 여겨져 변환을 시도하려하기 때문에 나타난다고 볼 수 있습니다. 따라서 $not을 array()로 정의하면 경고가 사라질 겁니다.