제목 | CI 2.1.0 버전업후 field_data() 문제 | ||
---|---|---|---|
글쓴이 | 양승현 | 작성시각 | 2015/09/04 16:03:45 |
|
|||
기존에 잘 사용하던 field_data() 가 사용이 안되어 수정하였습니다. field_data() 함수는 디비 쿼리 결과에 대한 각 필드별 타입 및 기타 정보를 가져오는 함수 입니다. /system/databases/drivers/mysql/mysql_result.php - line 76 부터 /** * Field data * * Generates an array of objects containing field meta-data * * @access public * @return array */ function field_data() { $retval = array(); /* 2015-09-04 버전업후 오류로 인한 필드데이터가 안나옴. while ($field = mysql_fetch_object($this->result_id)) { preg_match('/([a-zA-Z]+)(\(\d+\))?/', $field->Type, $matches); $type = (array_key_exists(1, $matches)) ? $matches[1] : NULL; $length = (array_key_exists(2, $matches)) ? preg_replace('/[^\d]/', '', $matches[2]) : NULL; $F = new stdClass(); $F->name = $field->Field; $F->type = $type; $F->default = $field->Default; $F->max_length = $length; $F->primary_key = ( $field->Key == 'PRI' ? 1 : 0 ); $retval[] = $F; } */ /* 임의 수정코드 */ $data=mysql_fetch_row($this->result_id); if(!$data) return $data; // end of data $index=0; while($index < mysql_num_fields($this->result_id)) { $meta=mysql_fetch_field($this->result_id, $index); if(!$meta) { $retval[] = $index; } else { $retval[] = $meta; } $index++; } return $retval; } // -------------------------------------------------------------------- |
|||
다음글 | CI 2.1.0에서 헬퍼로 사용가능한 엑셀출력 (기존 ... (1) | ||
이전글 | IIS 서버 메모리 풀이 계속 일어날때 대처법 (1) | ||
한대승(불의회상)
/
2015/09/07 11:12:56 /
추천
0
|
최근 field_data() 사용 할 일이 거의 없어 알지 못했는데 그런 버그가 있었군요.
코어를 수정하기 뭐 하거나 컬럼별 주석이 필요한 경우엔 아래 URL을 참고 하세요.
http://cikorea.net/source/view/804/page/1/