如何自動創建codeigniter會話表? 當我在我的控制器構造函數中使用創建者函數,並且當會話表不存在時,我看到codeigniter錯誤。我的代碼是:自動創建codeigniter會話表
function admin() {
parent::__construct();
ob_start();
if(!$this->db->table_exists('session'))//for `first time` run.
$this->utilmodel->create_session_table(); //this function create session table with CI structure
ob_end_clean();
$this->load->library('session');
...
}
我明顯的錯誤是:
Error Number: 1146
Table 'dbs.session' doesn't exist
INSERT INTO `session` (`session_id`, `ip_address`, `user_agent`,
`last_activity`, `user_data`) VALUES
('0a78608576684ebc2c0050b8f4810f', '127.0.0.1', 'Mozilla/5.0
(Windows NT 6.1; rv:32.0) Gecko/20100101 Firefox/32.0
AlexaToolbar/alxf-2.21', 1001550875, '')
Filename: C:\wamp\www\folder\system\database\DB_driver.php
Line Number: 330
我知道
parent::__construct()
我的錯誤究竟發生後。
需要更深入地瞭解你的代碼。我也不確定你爲什麼試圖在飛行中創建表格。您最好使用數據庫遷移腳本而不是即時創建表。 – 2014-09-24 09:43:13
嘗試使用鉤子? – 2014-09-24 10:04:36
是的,你需要使用鉤子。更具體的'pre_system'將起作用。 – 2014-09-24 10:14:30