Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > не добавляются данные в таблицу mysql


Автор: haspint 12.4.2008, 16:58
делаю так:
my $dbh = DBI->connect(...);
my $query="INSERT INTO $w (naimenovanie) VALUES ('1111')";
$rows = $dbh->do($query) or die "error";
if (!defined($rows)){print"ошибка";}
if (!$rows){print "ошибка";}
$dbh->disconnect();
exit(0);

при выполнении $rows =1 но , смотрю в клиенте mysql а там пусто. 
Что я не так делаю?

Автор: nitr 12.4.2008, 17:56
$w - определена?
Выводите ошибку $dbh->errstr.
На первый взгляд всё верно, но вот приведите строку 
Код

my $dbh = DBI->connect(...);

естественно без указания хоста, паролей smile Возможно вы указали доп.параметры (AutoCommit => 0)

Автор: haspint 12.4.2008, 18:11
$w- определена , а где(...) ет я просто сократил тут , к базе данных коннект проходит нормально без ошибок, $dbh->errstr ничего не пишет.

Автор: haspint 13.4.2008, 01:29
из-за кодировки такие проблемы могут возникнуть? скрипт в ср1251 а в mysql стоит по  дефолту latin1.
И еще как можно экранировать кавычки в dbi?

Автор: Itsys 13.4.2008, 06:39
Цитата(nitr @  12.4.2008,  17:56 Найти цитируемый пост)
Возможно вы указали доп.параметры (AutoCommit => 0)

А точнее не указали AutoCommit => 1, т.к. он по умолчанию 0.

Автор: haspint 13.4.2008, 13:34
спасиба AutoCommit => 1 решило все проблемы.

Автор: nitr 13.4.2008, 19:41
Itsys, smile молодец, поправил.

haspint, если бы сразу указали, то быстрее бы решилась проблема. Про экранирование - метод quote посмотрите.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)