Вместо
eval{
$rows=$dbs->do($sql);
};
&ToLog("Неведомая ё..я х..я в строке: $line") if $@;
попробуй:
$rows=$dbs->do($sql);
ToLog($sql.': '.$DBI::errstr) if $rows<1;
тепер пише в логах детальну інформацію - була проблема в таблиці traf_lost, я її створив так -
CREATE TABLE `traf_info` (
`time` int(10) unsigned NOT NULL,
`cod` mediumint(8) unsigned NOT NULL,
`data1` text NOT NULL,
KEY `time` (`time`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251
а треба було ось так -
CREATE TABLE `traf_lost` (
`mid` mediumint(9) NOT NULL default '0',
`time` int(11) NOT NULL default '0',
`in` int(10) unsigned NOT NULL default '0',
`out` int(10) unsigned NOT NULL default '0',
`ip` tinytext NOT NULL,
KEY `mid` (`mid`),
KEY `time` (`time`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251
всім дякую за допомогу