Не могу понять из-за чего вылетает MySQL...
ОС: Windows 98 SE
Сервер: Apache Version 1.3.20 (Win32)
PHP Version: 4.0.6
MySQL Version 3.23.34
Суть проблемы:
Делаю сайт на PHP у себа на локальном компе. При загрузке страницы новостей после функции определения количества посетителей стала вылетать ошибка и выгружаться MySQL.
Код:
[начальные теги HTML]
require("config.php"); //имя БД, имя пользователя и др. настройки
require("functions.php"); //функции
$ses_id = dbConnect($db_host_name, $db_user_name, $db_password); //подключение к БД
$result = dbSelect($db_name, $ses_id); //выбор БД
if (!$result) {
echo "DB was not found
\\n";
}
require(\'online.php\');
+---------- | файл online.php |----------+
session_set_cookie_params("0"); //Задаем время жизни cookie
$id=session_id(); //id сессии
$time=time(); //текущее время
$past=time()-500; //время, после которого надо удалять сессии
@mysql_query("DELETE FROM gwmi_online WHERE last_time < \'$past\'"); //Удаление старых сессий
$result=@mysql_query("SELECT last_time FROM gwmi_online WHERE sess_id=\'$id\'"); //Выбор таблицы
$rows=@mysql_num_rows($result); //Если в таблице есть sess_id с $id, то равно 1, иначе 0
if ($rows!="0") {
@mysql_query("UPDATE gwmi_online SET last_time=\'$time\' WHERE sess_id=\'$id\'");
} else {
@mysql_query("INSERT INTO gwmi_online (last_time, sess_id) VALUES (\'$time\', \'$id\')");
}
$result = @mysql_query("SELECT * FROM gwmi_online"); //Выбор всех сессий
$count = @mysql_num_rows($result); //Считывание числа сессий
echo "
$count человек on-line
\\n"; //Вывод числа юзеров
+---------------------------------------------+
$newsam = 15;
Потом идет обращение к БД, при котором и происходит ошибка:
$result = mysql_query("SELECT * FROM gwmi_news ORDER BY news_year DESC, news_month DESC, news_day DESC, news_hour DESC, news_min DESC, news_sec DESC LIMIT 0, $newsam");
Структуры таблиц:
CREATE TABLE `gwmi_news` (
`news_id` int(10) unsigned NOT NULL auto_increment,
`news_title` varchar(50) NOT NULL default \'\',
`news_year` int(4) NOT NULL default \'0\',
`news_month` int(2) NOT NULL default \'0\',
`news_day` int(2) NOT NULL default \'0\',
`news_hour` int(2) NOT NULL default \'0\',
`news_min` int(2) NOT NULL default \'0\',
`news_sec` int(2) NOT NULL default \'0\',
`news_autor` varchar(30) NOT NULL default \'\',
`news_text` text NOT NULL,
PRIMARY KEY (`news_id`)
) TYPE=MyISAM;
CREATE TABLE `gwmi_online` (
`hid` int(11) NOT NULL auto_increment,
`sess_id` char(255) NOT NULL default \'\',
`last_time` char(255) NOT NULL default \'\',
PRIMARY KEY (`hid`)
) TYPE=MyISAM;
Помогите разобраться из-за чего это происходит. Если при первом открытии страницы (после запуска сервера и MySQL) закоментарить загрузку online.php, страница загружается без ошибок и вылета MySQL. И если потом разкомментарить обращение к файлу, страница загружается норамльно. Так же если переместить загрузку online.php после загрузки новостей, никаких глюков не наблюдается. online.php нормально работает с другими страницами...