URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 7253
[ Назад ]

Исходное сообщение
"perl обработка ошибок MySQL"

Отправлено romychk , 14-Мрт-08 08:56 
Здравствуйте, наверное глупый вопрос, но ответа я не нашол.
Есть Perl программа, она работает с MySQL, если в запросе ошибка программа вылетает, а мне нужно чтобы просто в переменная флаг получила значение 1 и программа выполнялась дальше на сколько я понял надо использовать or die, но у меня не получается, дайте пожалуйста ответ новичку
этот код при ошибке не печатает
$statementV = $db_handle->prepare($s) or die print "error";

Содержание

Сообщения в этом обсуждении
"perl обработка ошибок MySQL"
Отправлено phpcoder , 14-Мрт-08 09:04 
[...]
>на сколько я понял надо использовать
>or die, но у меня не получается, дайте пожалуйста ответ новичку

Как раз наоборот: не надо использовать die(). Если бы вы прочитали описании ф-ции die() или хотя бы перевели её название с ангийского, то могли бы и сами об этом догадаться.

>этот код при ошибке не печатает
>$statementV = $db_handle->prepare($s) or die print "error";

Попробуйте так:

if ($db_handle->prepare($s)) {
   flag = 1;
   print "error occurs\n";
}


"perl обработка ошибок MySQL"
Отправлено idle , 14-Мрт-08 10:35 
>Здравствуйте, наверное глупый вопрос, но ответа я не нашол.
>Есть Perl программа, она работает с MySQL, если в запросе ошибка программа
>вылетает, а мне нужно чтобы просто в переменная флаг получила значение
>1 и программа выполнялась дальше на сколько я понял надо использовать
>or die, но у меня не получается, дайте пожалуйста ответ новичку
>
>этот код при ошибке не печатает
>$statementV = $db_handle->prepare($s) or die print "error";

Замените на or warn $db_handle->errstr;