Не работает Mysql

Тема в разделе "Веб-серверы - Администрирование", создана пользователем Your_Princess, 19 ноя 2006.

  1. Your_Princess

    Your_Princess Гость

    Установила MySQL. Apach и PHP до этого работали. И пытаюсь проверить его с помощью вот этой тестовой странички:

    Код (Text):
    <?php

    $dblocation = "localhost";
    $dbname = "test";
    $dbuser = "root";
    $dbpasswd = "password";

    $dbcnx = @mysql_connect($dblocation, $dbuser, $dbpasswd);
    echo "xxxxxxxxxxxx";
    if (!$dbcnx)
    {
    echo "<p>К сожалению, не доступен сервер mySQL</p>";
    exit();
    }
    if (!@mysql_select_db($dbname,$dbcnx) )
    {
    echo "<p>К сожалению, не доступна база данных</p>";
    exit();
    }
    $ver = mysql_query("SELECT VERSION()");

    if(!$ver)
    {
    echo "<p>Ошибка в запросе</p>";
    exit();
    }
    echo mysql_result($ver, 0);
    echo "Всё вроде получилось...";
    ?>
    Так вот в результате ничего не выводится. Даже не ругается никак :) Просто пустая страничка.
     
  2. ????

    ???? Гость

    символ @ поубирай - будет ругаться :)
     
  3. Your_Princess

    Your_Princess Гость

    Спасибо!
    Я об этом знала.
    А может у кого-нибудь есть дельный совет? ;)
     
  4. TWin

    TWin Гость

    Что, вообще никаких сообщений?
    А PHP-то вообще работает?
     
  5. Your_Princess

    Your_Princess Гость

    Сообщений нет никаких потому, что @ блокирует сообщения об ощибке, а без неё выдаёт
    Fatal error: Call to undefined function mysql_connect() in E:\Site\localhost\www\test.php on line 8
    ТО есть он не знает,. что MySQLустановлен
    PHP работает
     
  6. TWin

    TWin Гость

    А MySQL сам по себе работает?
    Какая версия MySQL? Какая версия PHP? Какая операционка?
    Посмотри в диспетчере задач, есть ли там mysqld.exe или mysqld-nt.exe.
    В папке, где у становлен MySQL выполни команду:
    mysqladmin.exe --host=localhost --user=root --password=<твой_пароль> ping

    ответом должно быть: mysqld is alive
     
  7. _serg_

    _serg_ Гость

     
  8. TWin

    TWin Гость

    Да не, в PHP всё для MySQL уже встроено, внешние библиотеки не нужны.
    Это вроде бы только для старых версий надо было включать
     
  9. _serg_

    _serg_ Гость

    библиотеки-то есть и в новых. смотрим в пхп.ини.
    но вот не факт, что в php.ini точка с запятой перед mysql.dll не выставлена
    а вообще, в дистрибе php есть файл INSTALL, где если все делать по шагам, все заработает. проверено не раз.
    фраза
    по-моему однозначно говорит о том, что пхп не нашло библиотеку мускуля
    отсюда:
    1. либо пути
    2. либо отключена загрузка длл
    3. мож надо path куда-нить прописать? (но это уже пальцем в небо)
     
  10. TWin

    TWin Гость

    <!--QuoteBegin-_serg_+24:11:2006, 17:03 -->
    <span class="vbquote">(_serg_ @ 24:11:2006, 17:03 )</span><!--QuoteEBegin-->смотрим в пхп.ини
    [snapback]48838" rel="nofollow" target="_blank[/snapback]​
    [/quote]
    Смотрим. Видим:
    ;Windows Extensions
    ;Note that MySQL and ODBC support is now built in, so no dll is needed for it.
    ;
    Я ж не зря спрашивал, какая версия PHP.

    Работоспособность MySQL сначала надо проверить, а потом PHP ковырять.
     
  11. ioni

    ioni Well-Known Member

    Регистрация:
    11 май 2006
    Сообщения:
    351
    Симпатии:
    0
    Я сталкивался с тем, что последние версии PHP и MySQL по какой-то причине (тоже не знаю) друг друга не видят... Решение было -уходить на более старые версии и того и другого, со стабильнымы, хоршо задокументированными ошибками etc.

    Ваше решение?
     
  12. Pitc

    Pitc Гость

    Вы что прикалываетесь это же стандартная фича php5!!! Для нормальной работы нуна раскоментить строку в php.ini extension = php_mysql.dll
    И если пути менять не хотите то выкидовайте библиотеку php_mysql.dll из папки ext в корень.!!!!!

    Ошибка Call to undefined function mysql_connect() это однозначно значит что библиотека нужная не подключена _serg_ об этом уже написал ЧИТАЕМ ВНЕМАТЕЛЬНЕЙ.!!Для:

    TWin
    Какой нафиг mysql проверять если функция подключентия не определена !!!
    Если использовать стандартные настройки то подключаться к базе насколько я помню нуна подругому..
     
  13. TWin

    TWin Гость

    Я, конечно могу ещё раз задать вопрос - какая версия PHP? Но кажется никто не слышит ;-)
    У меня и PHP и MySQL 4-е версии. Никаких библиотек прописывать не надо!. Всё работает! Для упрямых могу выложить php.ini.
    С 5-й PHP ещё не работал, т.к. у хостеров стоит в большинстве 4-я.

    Версии в студию!!!
     
  14. Pitc

    Pitc Гость

    с четвертой версией все должно работать без внесения изменений, но в 5 одно из решений этой проблемы я написал выше. Просто в 5 разработчики советуют не использовать эту библиотеку , и при вызове функции возникает ошибка если php не настроен т.к эта библиотека закоменчина.
    Много потерял . ;)
     
  15. Australian Aborigen

    Australian Aborigen Гость

    Решил не создавать новой темы поскольку проблема такая же не работает MySQL
    Поскольку один раз уже ставил все начиная с апача, потом пхп и потом mysql, а после перестановки системы было делать это еще раз уже совсем тяжко (ставил дома, чтоб не на серваке кодить, что уж совсем плохо).
    Поставил The AppServ Open Project - 2.5.2 for Windows
    в нем:
    Apache Web Server Version 1.3.33
    PHP Script Language Version 5.0.2
    MySQL Database Version 4.1.7

    В результате имею:
    апач и пхп пашут как часы, а вот с бд проблемы
    проделал все, что здесь советовали, но все равно не могу использовать бд из пхп. не пашет никак. запарился уже.
    Сам по себе mysql работает
    проверял через phpMyAdmin Database Manager Version 2.6.0-pl2
    там есть коммандная строка и все пашет создавал базы-создаются
     
  16. _serg_

    _serg_ Гость

    какая командная строка? у мускуля есть свой шелл. можно через обычный цмд к нему присосаться. но чтобы в phpMyAdmin была командая строка... не помню такого.

    а что конкретно не работает-то?

    вслепую погу порекомендовать тока выставить вывод всех ошибок и ворнингов в пхп.ини и почаще в эррор.лог заглядывать - и апачевский и мускульный
     
  17. Australian Aborigen

    Australian Aborigen Гость

    Для: _serg_
    Командная строка mysql в phpmyadmin имеется
    где можно послать sql-запросы
     
  18. _serg_

    _serg_ Гость

    это текстареа что-ли? :(
    какая же это командная строка
    это просто поле для ввода sql-запроса
     
  19. Australian Aborigen

    Australian Aborigen Гость

    Ну неаправильно выразился
    суть то не меняется
     
  20. Temir

    Temir Гость

    В PHP 4.0 MySQL встроен (like TWin says) , тогда я ХЗ что за проблемы у Вас.
    Для PHP 5+ нет, так что нужно раскомментировать строку extension=php_mysql.dll в php.ini (обратить внимание на то, чтобы был указан следующий параметр: extension_dir = C:\server\PHP5\ext (где должна лежать php_mysql.dll)).
    Перезапускаем Apache. Если нормально перезапустился, все должно работать.
    У меня: "Unable to load dynamic library 'c:\server\PHP5\ext\php_mysql.dll'", хотя эта библиотека там и лежала. Дело вот в чем. Ему еще нужна libmysql.dll, которая лежит в папке с пхп. У меня ее не было, пришлось скачать (обратить внимание, чтобы в переменных окружения "панель управления->система->дополнительно->переменные среды" было указано Path c:\server\PHP5\:).
    Опять перезапускаем Apache. Теперь точно должно быть все ОК.

    И как советовал _serg_ выставите отображение всех ошибок и ворнингов в пхп.ини (мне это очень помогло).
     
Загрузка...

Поделиться этой страницей