CI 묻고 답하기

제목 sqlite db 읽기가 안되네요
글쓴이 백승훈d 작성시각 2013/02/22 16:45:26
댓글 : 2 추천 : 0 스크랩 : 0 조회수 : 16277   RSS

$active_group = 'default';
$active_record = TRUE;

$db['default']['hostname'] = '';
$db['default']['username'] = '';
$db['default']['password'] = '';
$db['default']['database'] = 'sqlite:db/test.db;
$db['default']['dbdriver'] = 'mysql';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;

class Device_alarm extends CI_Controller{
  function __construct(){
   parent:: __construct();
   $this->load->model('device/Device_alarm_model');
   
  }
  function lists(){
   $data['list'] = $this->Device_alarm_model->get_list();
   $this->load->view('device/device_alarm',$data);
  }
 
}

class Device_alarm_model extends CI_Model{
 function __contruct(){
  parent::__construct();
  $this->load->database();

 }

 function get_list(){
  $query = $this->db->from('TBL_DEVICE_ALARMIN');
  return $query->get()->result_array();
 } 
}

<html>
<HEAD><TITLE> TEST </TITLE></HEAD>

<BODY>
<table>
<tr>
<td>nIndex</td>
<td>bAIUse</td>
<td>sName</td>
<td>nType</td>
</tr>
<? foreach($list as $listitem):?>
<tr>
<td><?=$listitem['nIndex']?></td>
<td><?=$listitem['bAIUse']?></td>
<td><?=$listitem['sName']?></td>
<td<?=$listitem['nType']?></td>
<? endforeach;?>
</table>

</BODY>
</html>


 

A PHP Error was encountered

Severity: Notice

Message: Undefined property: Device_alarm::$db

Filename: core/Model.php

Line Number: 51


Fatal error: Call to a member function from() on a non-object in /CTR/lighttpd/share/www/application/models/device/device_alarm_model.php on line 11

위의 결과입니다.


test.db 는 index.php의 위치 갖다 놓았습니다.

구글링하다가 멘붕되서 글올렸습니다. 감사합니다. (_ _)


 

 다음글 패스워드 수정 질문좀여..ㅠㅠ (5)
 이전글 존재하는 함수를 호출하지 못합니다. (3)

댓글

변종원(웅파) / 2013/02/22 17:06:50 / 추천 0
데이터베이스 연결이 안된겁니다.

ci log 파일 보세요.
백승훈d / 2013/02/25 10:26:51 / 추천 0
$db['default']['hostname'] = '';
$db['default']['username'] = '';
$db['default']['password'] = '';
$db['default']['database'] = 'sqlite:db/test.db;


$db['default']['hostname'] = 'sqlite:'.APPPATH.;test.db;
APPPATH는 application 폴더안의 경로를 의미하는 거네요.

그리고 model construct 오타 -_-
그리고 db driver pdo 로 했습니다.

pdo driver connect 함수를 살펴보니 database 를 안쓰더라고요
그래서 hostname에 db파일 경로를 적어줬더니 연결됬습니다.

감사합니다.