Forum Webscript.Ru
Программирование => Perl => Тема начата: Sun Ja от 06 Августа 2008, 11:41:06
-
имеется консольный скрипт на языке перл.
строка вида:
sub mysql_qwery {
$sth=$dbh->prepare($_[0]);
$sth->execute;
$sth->finish;
}
mysql_qwery("INSERT INTO baze.tmp_cat_keyword$prefix VALUES (0,\'$idbook\',\'$k\');") ;
выводит в консоль множество строк:
DBD::mysql::st execute failed: Dudlicate entry \'......\' for key 2 at ... line 37
как можно отключить вывод сообщений об ошибке именно в этом участке кода?
-
попробуй в начале написать
use DBI;
use DBD::mysql;
-
demond:
попробуй в начале написать
use DBI;
use DBD::mysql;
это у меня написано.
сам DBD-mysql работает
-
Вот это может помочь наверное:
http://search.cpan.org/~timb/DBI-1.607/DBI.pm#PrintWarn_(boolean,_inherited) (http://search.cpan.org/~timb/DBI-1.607/DBI.pm#PrintWarn_(boolean,_inherited))
вроде как прагму warnings можно также использовать
no warnings; #отмена всех сообщений компилятора
если конечно скрипт не выполняется с праметром -W;
и еще там написано что параметр -X действует как
no warnings \'all\';
и еще можно сделать например так
sub mysql_qwery {
$sth=$dbh->prepare($_[0]);
{
no warnings;
$sth->execute;
}
$sth->finish;
}
по крайней мере так написано
-
использовать execute_array с параметрами.