Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Работа с MySQL из PHP.
 
 автор: Глеб   (22.10.2004 в 22:29)   письмо автору
 
 

Здрасте 2all.
Я недавно начал изучать PHP и тут же наткнулся на проблему с котрой парюсь уже 2 дня. PHP скрипты работают и работают правильно, пока не попытаешься из этого скрипта подключиться к MySQL серверу (команда @mysql_connect) после этой команды выполнение скрипта останавливается без видимых причин и последствий. Apache+PHP+MySQL настраивал по инструкции взятой с этого сайта. Подскажите что я не доконфигурировал, из-за чего может не работать эта связка?

   
 
 автор: cheops   (22.10.2004 в 22:50)   письмо автору
 
   для: Глеб   (22.10.2004 в 22:29)
 

Попробуйте убрать @ и посмотреть не вываливается ли чего в браузер. Расширение для работы с MySQL в конфигурационном файле php.ini раскомментировали?
extension=php_mysql.dll


http://www.softtime.ru/info/articlephp.php?id_article=24

   
 
 автор: Глеб   (23.10.2004 в 00:04)   письмо автору
 
   для: cheops   (22.10.2004 в 22:50)
 

Если убрать @ то в броузере появляется сообщение:
Fatal error: Call to undefined function mysql_connect() in C:\www\academy_site\index.php on line 18
Расширение для работы с MySQL раскомментировано.

   
 
 автор: cheops   (23.10.2004 в 00:16)   письмо автору
 
   для: Глеб   (23.10.2004 в 00:04)
 

Хм... а версии PHP и Apache какие? При загрузке сервера Apache никаких предупреждений не вываливается о невозможности загрузить модуль?

   
 
 автор: Глеб   (23.10.2004 в 13:49)   письмо автору
 
   для: cheops   (23.10.2004 в 00:16)
 

Apache 2.0.52
PHP 5.0.2
MySQL server 4.0.0 alpha nt
Win2k sp2.
При заграузке Apache никаких прдупреждений не выдается. Насколько я понял в файле конфигурации apache не надо указывать на MySQL, каким либо образом. Да ещё у меня не пошла последняя версия MySQL 4.0.21 (в смысле клиент mysql не выполнял запросы), поэтому поставил эту наугад. Возможно дело в этом?

   
 
 автор: cheops   (23.10.2004 в 14:01)   письмо автору
 
   для: Глеб   (23.10.2004 в 13:49)
 

Вряд ли дело сейчас в MySQL, в этом случае бы функция mysql_connect() выполнялась бы, но возвращала false... Сообщение
 Fatal error: Call to undefined function mysql_connect() in C:\www\academy_site\index.php on line 18 

говорит о том, что PHP знать ничего не знает о функции mysql_connect(), т.е. расширение для работы с MySQL не пашет :(
Включите, если у вас отключена директива display_startup_errors в php.ini, и посмотрите ничего нового не появится при обращении к скриптам с использованием mysql:
display_startup_errors = On

   
 
 автор: Глеб   (23.10.2004 в 14:29)   письмо автору
 
   для: cheops   (23.10.2004 в 14:01)
 

Включил display_statup_error ничего не изменилось.
после строки
$link=@mysql_connect('localhost:3306', 'root', '') or die('failed'); 

исполнение скрипта заканчивается без каких либо видимых последствий, при чем стоит die в конце или нет значения не имеет.
строка
   $link=mysql_connect('localhost:3306', 'root', '') or die('failed'); 

выдает вышеуказанную ошибку.

   
 
 автор: cheops   (23.10.2004 в 14:40)   письмо автору
 
   для: Глеб   (23.10.2004 в 14:29)
 

Хм... мистика. Выложите пожалуйста конфигурационный файл php.ini, я попробую им свой заменить и посмотреть в чём дело.

   
 
 автор: Глеб   (23.10.2004 в 16:36)   письмо автору
 
   для: cheops   (23.10.2004 в 14:40)
 

Вот файл:

   
 
 автор: cheops   (23.10.2004 в 17:17)   письмо автору
 
   для: Глеб   (23.10.2004 в 16:36)
 

Проверил в вашей конфигурации с приатаченным постом выше php.ini на WinXP и на Win2000 (правда SP4) - пашет без проблем... Попробуйте снести вообще все: Apache, PHP, MySQL (со всеми конфигами) и поставить по новой.

   
 
 автор: Глеб   (23.10.2004 в 17:59)   письмо автору
 
   для: cheops   (23.10.2004 в 17:17)
 

ЭМОЦИИ И ЧУВСТВА ПЕРЕПОЛНЯЮТ И ВЫПЛЕСКИВАЮТСЯ НАРУЖУ!!!
Я 3 дня трахался (извините за выражение) с проблемой которая решилась за 2 минуты! Просто повторно разархивировал дистрибутив PHP в папку c:\PHP!
Спасибо cheops за терпение, внимание и дельный совет!!!

з.ы. Да сразу задам вопрос чем отличается
   $link = mysql_connect("localhost", "root", "") or die('failed'); 

от
   $link = @mysql_connect("localhost", "root", "") or die('failed'); 

   
 
 автор: cheops   (23.10.2004 в 18:16)   письмо автору
 
   для: Глеб   (23.10.2004 в 17:59)
 

@ - позволяет подавить вывод ошибок и предупреждений PHP-функций - достаточно удобно, так как позволяет даже в случае возникновения ошибки не испортить дизайн сайта, а обработать ошибочную ситуацию самостоятельно, с выводом нужного текста на русском языке в нужном месте. Но в то же время это достаточно опасная штука - так как за ней можно пропустить ошибку.

PS Хорошо, что всё успешно разрешилось, а то у меня советы закончились :)))

   
 
 автор: Глеб   (23.10.2004 в 18:33)   письмо автору
 
   для: cheops   (23.10.2004 в 18:16)
 

;-)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования