Forum Webscript.Ru

Программирование => Perl => Тема начата: DartSidius от 05 Декабря 2006, 05:36:26

Название: DBI->do
Отправлено: DartSidius от 05 Декабря 2006, 05:36:26
Не работает почему-то...т.е. создание таблицы и внесение записи в ещё одну таблицу..по отдельности команды работают

do("CREATE TABLE `ddd_mod` (
  `id` int(255) NOT NULL auto_increment,
  `name` text NOT NULL,
  `title` text NOT NULL,
  `time` text NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM;

INSERT INTO `modules_patterns` ( `id` , `module_id` , `pattern_name` , `pattern_text` , `pattern_default` )
VALUES (
\'398528\', \'ddd.mod\', \'default\', \'\', \'1\'
);")


пишет вот что:

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 \';

INSERT INTO `modules_patterns` ( `id` , `module_id` , `patter at ../data/modules/Mysql.pm line 47.


наверное Do просто не поддерживает такой формат?
Название: DBI->do
Отправлено: arto от 05 Декабря 2006, 09:14:21
"`" перл использует по-своему.
Название: DBI->do
Отправлено: DartSidius от 05 Декабря 2006, 10:08:44
э...и как енто понять :)?
Название: DBI->do
Отправлено: NeoNox от 05 Декабря 2006, 12:31:11
это стоит понимать как то, что не стоит использовать в запросе обратную кавычку, так как перл под INSERT INTO `modules_patterns` понимает выполнить системную команду modules_patterns. Используйте обычную кавычку.
Название: DBI->do
Отправлено: DartSidius от 05 Декабря 2006, 12:41:49
не...это странно...отдельно ж через DO работают команды...а если на \' например заменить, то та же ошибка
Название: DBI->do
Отправлено: ravshaniy от 05 Декабря 2006, 13:06:27
DBI->do {Prepare and execute a single statement.} (http://search.cpan.org/~timb/DBI-1.53/DBI.pm)
Название: DBI->do
Отправлено: arto от 05 Декабря 2006, 13:06:38
а оно умеет две команды в одном запросе?