
26.04.2008, 04:31
|
|
Постоянный
Регистрация: 25.03.2008
Сообщений: 670
С нами:
9541766
Репутация:
2407
|
|
Вроде верно всё, нужно только параметры фильтровать
А вот это:
PHP код:
$result = @mysql_query("SELECT `val` FROM `session` WHERE `key`='$key'");
$fetch = @mysql_fetch_assoc($result);
if ($fetch != array())
{
@mysql_query("UPDATE `session` SET `name`='" . session_name() . "', `val`='$val', `time`='" .
time() . "' WHERE `key`='$key'");
} else
{
@mysql_query("INSERT INTO `session` SET `name`='" . session_name() . "', `val`='$val',`key`='$key', `time`='" .
time() . "'");
}
return true;
можно заменить таким:
PHP код:
$tm=time();
@mysql_query("insert into session (val,key,time) values('$val','$key',$tm) ON DUPLICATE KEY UPDATE time=$tm, $val='$val'");
return true;
Но только если key - UNIQUE index или PRIMARY KEY и начиная с MySQL 4.1.
И ещё после запроса SELECT не надо забывать mysql_free_result.
Последний раз редактировалось d_x; 26.04.2008 в 04:40..
|
|
|