Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Perl, MySQL и глюки винграда :-), Размер вводимых данных? 
V
    Опции темы
shootnix
Дата 7.6.2007, 13:10 (ссылка)  | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 3.9.2005
Где: Казахстан

Репутация: 2
Всего: 2



Здравствуйте. Нужна помощь, сам разобраться что-то не в силах...
Суть проблемы.
Тривиальная задача: передается форма, параметры записываются в таблицу. Форма добавления статьи, соответственно, визивиг-редактор и т.п. Но это уже не суть. Суть в том, что при небольшом количестве данных все проходит успешно, без проблем. Как только объем данных (основного текста)
превышет приблизительно ... ну, скажем, 100-200 символов, запрос просто не срабатывает.

Теперь факты:
1. Структура таблицы
Код

CREATE TABLE `articles` (
  `id` int(50) NOT NULL auto_increment,
  `title` text NOT NULL,
  `author` varchar(100) NOT NULL default '',
  `cut` text NOT NULL,
  `text` text NOT NULL,
  `m` int(3) NOT NULL default '0',
  `d` int(3) NOT NULL default '0',
  `y` int(5) NOT NULL default '0',
  `rate` bigint(100) NOT NULL default '0',
  `hits` int(100) NOT NULL default '0',
  `rubric` int(50) NOT NULL default '0',
  `votes` int(50) NOT NULL default '0',
  `votesumm` int(50) NOT NULL default '0',
  `issue` int(10) NOT NULL default '0',
  PRIMARY KEY  (`id`),
  FULLTEXT KEY `text` (`text`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=21 ;


2. Сами данные передаются в полном объеме, записываются в левый файл, там все в порядке, с любым объемом.

3. Вот это уже от отчаяния smile))
Код

$CGI::POST_MAX=1024 * 1000;


4. Пробовал инсертить через phpMyAdmin — все работает! 
То есть, не работает именно скрипт.. Что делать, ума не приложу. Кто что посоветует?
PM WWW ICQ   Вверх
JAPH
Дата 7.6.2007, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 8.1.2007
Где: Ленобласть

Репутация: 3
Всего: 23



Ну так если не работает скрипт, то покажите его smile Хотя бы кусок, который формирует и пытается выполнить запрос.


--------------------
Что непонятно - спрашиваем smile
PM MAIL ICQ   Вверх
Бонифаций
Дата 7.6.2007, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 827
Регистрация: 15.9.2005
Где: Brisbane

Репутация: нет
Всего: 40



...и ошибку которую возвращает привставке большого куска


--------------------
 Бонифаций.
 
PM MAIL ICQ Skype GTalk Jabber YIM   Вверх
Ramirez
Дата 7.6.2007, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 305
Регистрация: 18.1.2005
Где: Moscow, ExUSSR

Репутация: 4
Всего: 5



а форма не GET'ом случайно передается?

Это сообщение отредактировал(а) Ramirez - 7.6.2007, 14:20
PM ICQ   Вверх
JAPH
Дата 7.6.2007, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 8.1.2007
Где: Ленобласть

Репутация: 3
Всего: 23



Не, ну если 
Цитата
данные передаются в полном объёме
, то проблема наверняка где-то дальше.


--------------------
Что непонятно - спрашиваем smile
PM MAIL ICQ   Вверх
shootnix
Дата 7.6.2007, 18:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 3.9.2005
Где: Казахстан

Репутация: 2
Всего: 2



Ага, спасибо, разобрался уже...
Хотя, как сказать smile
Кусок скрипта показать бы рад, но там все сложно замучено-перемучено через свои классы...
В общем, рассказываю smile))
Работал запрос типа:

Код

$dbh->do( qq~INSERT INTO articles( foo, bar, bla-bla, ... ) VALUES ( 'value1', 'value2' 'value3', '...')~ );


Вот он-то как раз не срабатывал на больших данных. 
Покапался в perldoc DBI и нашел вот что:
Код

my $sth = $dbh->prepare( qq~INSERT INTO articles( foo, bar, ... ) VALUES ( ?, ?, ... )~ );
$sth->execute( 'value1', 'value2', ... );


Вот эта штука-то как раз сработала... Теперь. Кто-нибудь мне может сказать, почему???
PM WWW ICQ   Вверх
JAPH
Дата 7.6.2007, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 312
Регистрация: 8.1.2007
Где: Ленобласть

Репутация: 3
Всего: 23



Ну, не знаю-не знаю... У меня спокойно прошёл
Код
$dbh->do(qq/INSERT INTO `t` VALUES ('/ . 'x' x 200000 . qq/')/); # подсветка супер! :)


А какие-нибудь ошибки скрипт выдавал?

Может, текст содержал одинарную кавычку, что при подстановке приводило к неправильному синтаксису запроса? execute экранирует всё подобное.


--------------------
Что непонятно - спрашиваем smile
PM MAIL ICQ   Вверх
shootnix
Дата 7.6.2007, 21:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 108
Регистрация: 3.9.2005
Где: Казахстан

Репутация: 2
Всего: 2



Цитата(JAPH @ 7.6.2007,  19:09)
Может, текст содержал одинарную кавычку, что при подстановке приводило к неправильному синтаксису запроса? execute экранирует всё подобное.

Да, скорее всего так и было. Это уже мой недосмотр... текст априори может содержать что угодно: и одинарные кавычки и бог знает еще что...
PM WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1060 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.