Показать сообщение отдельно

  #2919  
Старый 26.04.2008, 04:31
d_x
Постоянный
Регистрация: 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..
 
Ответить с цитированием