|
|
|
| Где то я лажаю здесь. Подскажите пожалуйста.
Вот часть кода после успешной проверки пароля и логина:
<?php
function authenticateAccount($login)
{
$query="select id from users where login='$login'";
$this->mydb->Query($query);
$user_id=$this->mydb->GetSqlResult(0);
$sid=trim(session_id());
//---------------------------------------------------------------------
$query="select count(*) from online_users where user_id=$user_id";
$this->mydb->Query($query);
if($this->mydb->GetSqlResult(0)>0)
{
$this->mydb->Query("delete from online_users where user_id=$user_id");
}
$query="insert into online_users(session_key,session_expire,user_id,wapver) values('$sid',NOW(),$user_id,1)";
$this->mydb->Query($query);
...
}
?>
|
Все бы хорошо, но время от времени получаю ошибку вида:
01/09/2006 12:16: Duplicate entry 'c343005067f8441f53cb4fd77dc1d832' for key 1
insert into online_users(session_key,session_expire,user_id,wapver)
values('c343005067f8441f53cb4fd77dc1d832',NOW(),16109,1)
Т.е. получается как буд-то в таблицу прописываются два одинаковых id сессий. | |
|
|
|
|
|
|
|
для: Skyonex_
(01.09.2006 в 13:20)
| | А откуда у Вас уверенность, что в таблице нет записей с этим session_key?
Если в рамках одной сессии залогинятся два человека - вот Вам и дуп. | |
|
|
|
|
|
|
|
для: Trianon
(01.09.2006 в 13:38)
| | Спасибо. Буду править. | |
|
|
|