Показать сообщение отдельно
  #7  
Старый 22.02.2010, 19:46
viktor6 viktor6 вне форума
Прохожий
 
Регистрация: 22.02.2010
Сообщения: 1
Репутация: 10
По умолчанию

Ребята помогите сделать правильный запрос в базу данных
вот стандарт
Код:
b := rs.FormatQuery('INSERT INTO '+DBRec.table1+' (BanCreate, HDDSN, Name, IPAddr, BanTime, Reason, SteamId, UUID) '+
                          'VALUES (%s,%s,%s,%s,%d,%s,%s,%s)', [SqlDT2Str(p^.DateTime), p^.HddSN, p^.Name, p^.IPAddr, p^.min, p^.Reason, p^.SteamId, p^.UUID]);
нужно его привесты к такому виду
Код:
b := rs.FormatQuery('INSERT INTO '+DBRec.table1+' (player_id,player_ip,player_nick,admin_ip,admin_id,admin_nick,ban_type,ban_reason,ban_created,ban_length,server_name,server_ip, SteamId, UUID) '+
                        'VALUES (%s,%s,%s,'''','''',''MyAC'',''S'',%s,%d,%d,''MyAC Anticheat'','''')', [p^.HddSN, p^.IPAddr, p^.Name, p^.Reason, SqlDT2Str(p^.DateTime), p^.min, p^.SteamId, p^.UUID]);
мне почемуто отвечает такое
Цитата:
"#1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1"
таблица в базе такая стандартная
PHP код:
CREATE TABLE `banlist` (
  `
BanCreate` datetime NOT NULL,
  `
HDDSN` varchar(50) NOT NULL,
  `
Name` varchar(34) NOT NULL,
  `
IPAddr` varchar(16) NOT NULL,
  `
BanTime` int(11) NOT NULL,
  `
Reason` varchar(80) NOT NULL,
  `
SteamId` varchar(20) NOT NULL,
  `
UUID` varchar(32) NOT NULL,
  
PRIMARY KEY (`HDDSN`),
  
UNIQUE KEY `HDDSN` (`HDDSN`),
  
KEY `BanCreate` (`BanCreate`),
  
KEY `BanTime` (`BanTime`),
  
KEY `UUID` (`UUID`)
) 
ENGINE=MyISAM DEFAULT CHARSET=latin1;


CREATE TABLE `history` (
  `
BanCreate` datetime NOT NULL,
  `
HDDSN` varchar(50) NOT NULL,
  `
Name` varchar(34) NOT NULL,
  `
IPAddr` varchar(16) NOT NULL,
  `
BanTime` int(11) NOT NULL,
  `
Reason` varchar(80) NOT NULL,
  `
SteamId` varchar(20) NOT NULL,
  `
UUID` varchar(32) NOT NULL,
  
KEY `HDDSN` (`HDDSN`),
  
KEY `BanCreate` (`BanCreate`),
  
KEY `BanTime` (`BanTime`),
  
KEY `UUID` (`UUID`)
) 
ENGINE=MyISAM DEFAULT CHARSET=latin1; 
переделываю на этую базу
PHP код:
CREATE TABLE `amx_bans` (
  `
bid` int(11) NOT NULL,
  `
player_ip` varchar(100) NULL,
  `
player_id` varchar(50) NOT NULL,
  `
player_nick` varchar(100) NOT NULL,
  `
admin_ip` varchar(100) NULL,
  `
admin_id` varchar(50) NOT NULL,
  `
admin_nick` varchar(100) NOT NULL,
  `
ban_type` varchar(10) NOT NULL ,
  `
ban_reason` varchar(255) NOT NULL,
  `
ban_created` int(11) NOT NULL,
  `
ban_length` varchar(100) NOT NULL,
  `
server_ip` varchar(100) NOT NULL,
  `
server_name` varchar(100) NOT NULL,
  `
SteamId` varchar(20) NOT NULL,
  `
UUID` varchar(32) NOT NULL,
  
PRIMARY KEY  (`bid`),
  
KEY `SteamId` (`SteamId`),
  
KEY `UUID` (`UUID`)
) 
ENGINE=MyISAM DEFAULT CHARSET=latin1;

CREATE TABLE IF NOT EXISTS `amx_banhistory` (
  `
bhid` int(11) NOT NULL,
  `
player_ip` varchar(100) default NULL,
  `
player_id` varchar(50) NOT NULL,
  `
player_nick` varchar(100) NOT NULL,
  `
admin_ip` varchar(100) default NULL,
  `
admin_id` varchar(50) NOT NULL,
  `
admin_nick` varchar(100) NOT NULL,
  `
ban_type` varchar(10) NOT NULL,
  `
ban_reason` varchar(255) NOT NULL,
  `
ban_created` int(11) NOT NULL,
  `
ban_length` varchar(100) NOT NULL,
  `
server_ip` varchar(100) NOT NULL,
  `
server_name` varchar(100) NOT NULL,
  `
unban_created` int(11) NOT NULL,
  `
unban_reason` varchar(255) NOT NULL,
  `
unban_admin_nick` varchar(100) NOT NULL,
  `
SteamId` varchar(20) NOT NULL,
  `
UUID` varchar(32) NOT NULL,
  
PRIMARY KEY  (`bhid`),
  
KEY `SteamId` (`SteamId`),
  
KEY `UUID` (`UUID`)
) 
ENGINE=MyISAM DEFAULT CHARSET=latin1; 
исходники прилагаю
http://depositfiles.com/files/wvsx9y6sg
Ответить с цитированием