dmitry1984
Новичок
Проблема с UPDATE данных в БД
Вот код. Проблема в следующем, при обновлении ячеек request и referer в базу записывается в request - "/0", в referer - полный адрес страницы, например "http://www.site.ru/?page=text". При INSERT данные записываются как положено, да и если в этой же функции вывести переменные $_SERVER['HTTP_REFERER'] и $_SERVER['REQUEST_URI'] просто через echo, то они отображаются нормально, непосредственно в той части которая идет после else, но в базу пишется какая-то ерунда.
Дамп базы
CREATE TABLE `loto_people` (
`ip` varchar(15) NOT NULL default '',
`UserAgent` varchar(250) NOT NULL default '',
`Language` varchar(15) NOT NULL default '',
`Host` varchar(15) NOT NULL default '',
`Time` int(16) NOT NULL default '0',
`gamer` varchar(13) NOT NULL default '',
`par_prog` varchar(13) NOT NULL default '',
`request` varchar(30) NOT NULL default '',
`referer` varchar(250) NOT NULL default '',
KEY `ip` (`ip`)
) TYPE=MyISAM;
INSERT INTO `loto_people` VALUES ('200.100.90.100', 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; MRA 5.2 (build 02349); .NET Client 3.5.30729.01)', 'ru', 'www.site.ru', 1222255549, 'gamers', '123456789012', '/0', 'http://www.site.ru/?page=account');
Что не так?
PHP:
<?php
session_start();
class Stat
{
function Show()
{
mysql_query("delete from loto_people where time<".(time()-1*60));
$q=mysql_query("select * from loto_people where ip='".$_SERVER['REMOTE_ADDR']."'");
if(mysql_num_rows($q)==0)
{
mysql_query("insert into loto_people values('".$_SERVER['REMOTE_ADDR']."','".$_SERVER['HTTP_USER_AGENT']."','".$_SERVER['HTTP_ACCEPT_LANGUAGE']."','".$_SERVER['HTTP_HOST']."',".time().",'".$_SESSION['gamer']."','".$_COOKIE['wmid']."', '".mysql_escape_string($_SERVER['REQUEST_URI'])."', '".mysql_escape_string($_SERVER['HTTP_REFERER'])."')");
}
else
{
mysql_query("update loto_people set time='".time()."',gamer='".$_SESSION['gamer']."',par_prog='".$_COOKIE['wmid']."',request='".mysql_escape_string($_SERVER['REQUEST_URI'])."',referer='".mysql_escape_string($_SERVER['HTTP_REFERER'])."' where ip='".$_SERVER['REMOTE_ADDR']."'");
}
}
};
?>
Дамп базы
CREATE TABLE `loto_people` (
`ip` varchar(15) NOT NULL default '',
`UserAgent` varchar(250) NOT NULL default '',
`Language` varchar(15) NOT NULL default '',
`Host` varchar(15) NOT NULL default '',
`Time` int(16) NOT NULL default '0',
`gamer` varchar(13) NOT NULL default '',
`par_prog` varchar(13) NOT NULL default '',
`request` varchar(30) NOT NULL default '',
`referer` varchar(250) NOT NULL default '',
KEY `ip` (`ip`)
) TYPE=MyISAM;
INSERT INTO `loto_people` VALUES ('200.100.90.100', 'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; MRA 5.2 (build 02349); .NET Client 3.5.30729.01)', 'ru', 'www.site.ru', 1222255549, 'gamers', '123456789012', '/0', 'http://www.site.ru/?page=account');
Что не так?