この記事では、ThinkPHP が MYSQL に SESSION を格納する方法を例を挙げて説明します。使用する動作環境は ThinkPHP バージョン 3.1.2 です。
最初にindex.phpを次のように設定します:リーリー
リーリー
リーリー
これで問題は解決しました。他に何も設定しないでください。SessionDb.class.php が自動的にロードされます。
リーリー
データベースを作成します:
次のようにコードをコピーします: CREATE DATABASE 'session'; テーブル構造を作成します CREATE TABLE 'session'( id CHAR(30) NOT NULL , 'user 'CHAR(30), data CHAR(3000) ,PARMIRY BY ( 'id') );
セッションを保存するためにファイル session_start.php を作成しましょう
次のようにコードをコピーします:$con =mysql_connection("127.0.0.1","user", "pass") ;
mysql_select_db("session");
function open($save_path, $session_name){return(true);}function close(){return(true);}function read($id){if($result = mysql_query (" SELECT * FROM session WHERE id='$id'")){if($row = mysql_felth_row($result ))
{ return $row["data"] }}else{return "";}}関数write( $id, $sess_data){if($result = mysql_query("UPDATE session SET data='$sess_data' WHERE id='$id'")){return true;}else{return false;}}関数 destroy ($ id){if($result = mysql_query("DELETE * FROM session WHERE id='$id'")){return true;}else{return false;}}/********** ** *********************************
* 警告 - *
* のようなものを実装する必要があります。ガベージコレクションルーチンはこちら *
***************************************** ***** /
function gc($maxlifetime){return true;}session_set_save_handler("open", "close", "read", "write", "destroy", "gc");
session_start();
/.....残りのテキスト>>