Программирование > Perl

как отключить сообщения об ошибках консоль

(1/1)

Sun Ja:
имеется консольный скрипт на языке перл.

строка вида:
             

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

как можно отключить вывод сообщений об ошибке именно в этом участке кода?

demond:
попробуй в начале написать
use DBI;
use DBD::mysql;

Sun Ja:

--- Цитировать ---demond:
попробуй в начале написать
use DBI;
use DBD::mysql;
--- Конец цитаты ---


это у меня написано.
сам DBD-mysql работает

ravshaniy:
Вот это может помочь наверное:
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;
}
--- Конец кода ---



по крайней мере так написано

arto:
использовать execute_array с параметрами.

Навигация

[0] Главная страница сообщений

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии