Показать сообщение отдельно
Непрочитано 14.01.2008, 13:16   #19
RMV
Мужской Общительный
Автор темы
 
Регистрация: 22.12.2003
Адрес: Н.Н.
pl_Vah Спасибо за анализ!
Гхост-цзы, phasma тоже спасибо.


Кажется, определил ситуацию, когда возникает эта ошибка. Буду ещё тестировать, но эта уже точно выявилась, хотя возможно есть др. причины или эта - частный случай др.

pl_Vah
Почему у меня НЕ работает
Код:
my $reply = $sth->execute($dbh->quote($mykey));
 и
my $reply = $sth->execute($dbh->quote($unames));
, а работает
Код:
my $reply = $sth->execute($mykey);
 и
my $reply = $sth->execute($unames);
$mykey - число
$unames - текст

понятия не имею, но возмлжно (имхо), что $sth->execute($переменная) автоматически подставляет кавычки.

Так вот, ошибка...
Она проявляется в двух разных файлах (программах типа *.cgi). Структура, порядок и схемы работы в них почти идентичны. Разница - в наборе выводимых полей (одна из двух таблиц, другая из одной) и в запрашваемом значении (в одном цифра, в другом варианте текст). (Здесь я в основном описывал первый вариант, т.к. в логах он встречался чаще).

Вот, что я выяснил: запись в лог идёт в том случае, если искомая запись в БД не найдена, т.е. похоже в этом случае $reply < 1 (точнее - 0E0) При этом пользователю выдаётся сообщение об отсутствие нужной записи (поскольку я отслеживаю переменную $reply в плане, что значение должно быть 1).

Составляя коментарий в сообщении #1418980 я несколько поторапился.
Исправления:
1. На тот момент мне действительно не удалось обнаружить ситуацию, когда выдавалась ошибка.
2. Сообщение Error text, в том случае, который я сумел воспроизвести, - выводится.
__________________
Hi, from RMV!
RMV вне форума  
Ответить с цитированием