sqlite で codeigniter を使用しており、sqlite データベースに接続するための新しいライブラリを作成しました。sqlite データベースは、セッションが設定されている場合にのみ接続します。
ライブラリ (ユーザーデータベース)
$CI =& get_instance();
if( $CI->session->userdata('user') ){
$userId = $CI->session->userdata('user');
$this->conDb = new PDO("sqlite:" . BASEPATH . "sqlitedb/" . $userId . "/data.db");
}else{
$userId = '';
}
そして、使用してクエリを実行します$query = $this->userdb->query($sql);
正常に動作しますが、問題は、セッションが作成された後にページが更新された場合にのみクエリが機能することです。それ以外の場合はCall to a member function query() on a non-object
エラーが返されます。
コントローラ
$sessiondata = array('user' => $userid);
$this->session->set_userdata($sessiondata);
$insert = $this->user_model->insert($data);