PHP如何将Session存储在数据库中(4)
read函数很容易实现,只需在表中寻找给定会话ID的数据,对于write函数,我们将给定会话ID的数据写入表中。但是,先要将具有同样会话ID的所有现有几路迅速删除:
public static function read( $id )
{
$id = $self::$s_conn->real_escape_string( $id );
$query = <<<EOQUERY
SELECT * FROM SessionData WHERE session_id=’$id’;
EOQUERY;
$result = @self::$s_conn->query( $query );
if( self::$s_conn->errno != 0 )
{
$err = self::$s_conn->error;
return “”;
}
if(( $row = @$result ->fetch_assoc()) !== NULL)
$data = $row['session_data'];
else
$data = “”;
$result->close( );
return $data;
}
public static function write( $id , $session_data)
{
$id = $self::$s_conn->real_escape_string( $id );
$query = <<<EOQUERY
DELETE FROM SessionData WHERE session_id=’$id’;
EOQUERY;
$result = @self::$s_conn->query( $query );
if( self::$s_conn->errno != 0 )
{
return FALSE;
}
$session_data = self::$s_conn->real_escape_string( $session_data);
$query = <<<EOQUERY
INSERT INTO SessionData VALUES(’$id’, now(), ‘$_session_data’ );
EOQUERY;
$result = @self::$s_conn->query( $query );
if( self::$s_conn->errno != 0 )
return FALSE;
else
return TRUE;
}
If you enjoyed this post, please consider to leave a comment or subscribe to the feed and get future articles delivered to your feed reader.

Comments
还没有评论。
发表评论