proWoke
Новичок
Вот код написал, заносит сессию в базу данных. Для каждой группы сессий своя таблица. Скажите ошибки, пожалуйста. Хотя обсуждать особо и ничего, но всё-таки.
PHP:
<?
function _open() {
global $id_connect;
if ($id_connect = mysql_connect("localhost","root","1") or die("Mysql error: ".mysql_error())) {
return mysql_select_db("session") or die("Mysql error: ".mysql_error());
} else {
return false;
}
}
function _close() {
global $id_connect;
return mysql_close($id_connect) or die("Mysql error: ".mysql_error());
}
function _read($id_session) {
global $id_connect;
$session_name = session_name();
mysql_query("CREATE TABLE IF NOT EXISTS `$session_name` (
`id` VARCHAR(30) PRIMARY KEY,
`info` TEXT,
`time` INT(10)
)") or die("Mysql error: ".mysql_error());
$sql = "SELECT `info` FROM `$session_name` WHERE `id`='$id_session'";
if ($query = mysql_query($sql,$id_connect)) {
$result = @mysql_fetch_assoc($query);
return $result['info'];
}
}
function _write($id_session, $value) {
global $id_connect;
$session_name = session_name();
$time = time();
$key = mysql_real_escape_string($id_session);
$value = mysql_real_escape_string($value);
$time = mysql_real_escape_string($time);
mysql_query("REPLACE INTO `$session_name` VALUES('$key','$value','$time')",$id_connect) or die("Mysql error: ".mysql_error());
}
function _destroy($id_session) {
global $id_connect;
$session_name = session_name();
$sql = "DELETE FROM `$session_name` WHERE `id`='$id_session'";
return mysql_query($sql,$id_connect) or die("Mysql error: ".mysql_error());
}
function _clean($maxlifetime) {
global $id_connect;
$session_name = session_name();
$oldrecord = time() - $maxlifetime;
$sql = "DELETE FROM `$session_name` WHERE `time` < '$oldrecord'";
mysql_query($sql,$id_connect) or die("Mysql error: ".mysql_error());
}