| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: разработка для Web > Ошибки при работе с MySQL |
| Автор: rcdimon 29.5.2005, 20:06 | ||
Отвечает мне Денвер: The server encountered an internal error or misconfiguration and was unable to complete your request. А в errors.log [Sun May 29 23:04:29 2005] [error] [client 127.0.0.1] Premature end of script headers: /home/localhost/cgi-bin/2.cgi [Sun May 29 23:04:29 2005] [error] [client 127.0.0.1] Name "main::DBI" used only once: possible typo at \home\LOCALH~1\cgi-bin\2.cgi line 6. [Sun May 29 23:04:29 2005] [error] [client 127.0.0.1] Name "main::dbh" used only once: possible typo at \home\LOCALH~1\cgi-bin\2.cgi line 5. [Sun May 29 23:04:29 2005] [error] [client 127.0.0.1] Name "main::dbs" used only once: possible typo at \home\LOCALH~1\cgi-bin\2.cgi line 4. Совсем не понимаю в чем дело.. Не хочет работать MySQL и все тут! Я скачивал готовые скрипты тоже ошибки выдают. При этом форум phpBB установлен. То есть в принципе MySQL пашет. |
| Автор: korob2001 30.5.2005, 01:00 | ||||
Попробуй в этой строке, вместо undef вставить пустые строки:
Если не поможет, тогда попробуем пойти другим путём:
Удачи. |
| Автор: rcdimon 30.5.2005, 07:30 |
| Ну значит изменил я все пароли и логины на реальные от базы данных, а так код тот последний, что ты мне привел. И все равно ошибка 500 [Mon May 30 10:33:56 2005] [error] [client 127.0.0.1] Premature end of script headers: /home/localhost/cgi-bin/3.cgi |
| Автор: korob2001 30.5.2005, 09:37 |
| А как у тебя дела обстоят с заголовком??? |
| Автор: wladk 30.5.2005, 11:00 | ||||||||
Есть мнение, что данно сообщение может быть не связано с коннектом к базе. Проверить очень просто, заремь все строки кроме 1,2,3 И запусти.... Есть смутные ощущения, что это сообщение может быть вызвано не системными символами перевода строки..... Ориентируясь на название раздела топика, и имя файла, предпологается вывод информации в некий браузер. А это в свою очередь требует соблюдения неких формальностей. В частности вывода заголовка:
Это один из вариантов беспорно... строку коннекта к БД
я бы рекомендовал несколько изменить, и тем самым сделать ее более "разговорчивой"
Анализировать результат коннекта/открытия файла/etc никогда не помешает Такэ..... |
| Автор: Vaneska 30.5.2005, 11:54 | ||
| rcdimon, если ты тользуешься Денвером, то указывай логин root, пороля у него нет. А потом, когда программы на сервер ставить будешь, в настройках логин и пароль измени. Вот как я делаю:
Raport() - функция, которая в лог-файл записывает ошибки |
| Автор: korob2001 30.5.2005, 12:13 |
| Да от ошибок подключения мы уже избавились. Как правило 500 ошибка с подобным сообщением, выводится в том случае, если не верно выведен или вообще не задан зоголовок. |
| Автор: rcdimon 30.5.2005, 22:15 | ||
Самое интересное- когда я вставил запрос к базе. Просто SELECT то все сработало. ПРограмма просто бездельничать не хотела
|
| Автор: Anarki 8.6.2005, 21:33 | ||
А может заработало, то что ты добавил это?
|
| Автор: rcdimon 14.6.2005, 12:08 | ||||
А сейчас все нормально. Запись идет. Базы создает и т.д. Но записывае почему-то только цифры. Если в выражении есть буквы- он не пишет.
вот если вставить вместо цифр (в данном случае едениц) буквы, то вылезет такая ошибка DBD::mysql::st execute failed: Unknown column '55ZOzut' in 'field list' at \home\test1.ru\cgi\3.cgi line 67. А создавалась таблица вот таким кодом
|
| Автор: korob2001 14.6.2005, 14:37 | ||
Заключай VALUES в одинарные кавычки, например:
Удачи. |
| Автор: Sadok 15.6.2005, 09:24 |
| Можно еще покурить документацию на тему quote($string) Метод quote используется для экранирования специальных символов в запросе символами экранирования, а также заключения данных в необходимые внешние символы цитирования (например кавычки). Пример: $sql = $dbh->quote($string) |