2012-03-18 55 views
-1

當我要做出一個foreach($ _ SESSION [「旗幟」] - >結果()爲$橫幅),我得到這個錯誤:如何在會議結束後裝入數據庫類笨

腳本試圖執行一個方法或訪問一個不完整對象的屬性。請確保類定義" CI_DB_mysql_result您嘗試之前反序列化(裝載操作的對象的")被調用或提供一個__autoload()函數來加載....

如何類定義我可以在會話後加載數據庫類,我使用本機會話$ _SESSION,我不想使用codeigniter會話,因爲他們在IE中有問題,我該如何解決這個問題?或者在CI中的會話之後需要使用什麼函數來加載數據庫類?

回答

2

使用本機Codeigniter會話來避免此類問題。要修復與IE瀏覽器的問題,請在config.php

$config['sess_cookie_name']  = 'ci_session'; 

$config['sess_cookie_name']  = 'cisession'; 

  • 啓動像在會話中$this->load->library('session');

  • 設置數據庫中的以下變化像這樣$this->session->set_userdata('item', 'value');

  • 而且讀起來像$this->session->userdata('item');

然後在你的應用程序中的值,你將能夠使用它像這樣

foreach($this->session->userdata('banners') ->result() as $banner) {} 
+0

OP明確說:「我不想用笨會話,因爲他們有問題在IE「 – AlienWebguy 2012-03-18 07:09:25

+1

@AlienWebguy,現在快樂;) – Starx 2012-03-18 07:14:08

+0

謝謝,但我想知道如果我可以把某個地方session_start(),將在數據庫類加載之前執行,可以是地方? – 2012-03-18 07:17:41