• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Не работает Mysql

  • Автор темы Your_Princess
  • Дата начала
Y

Your_Princess

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

Код:
<?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 "Всё вроде получилось...";
?>

Так вот в результате ничего не выводится. Даже не ругается никак :) Просто пустая страничка.
 
?

????

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

Your_Princess

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

TWin

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

Your_Princess

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

TWin

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

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

_serg_

Call to undefined function mysql_connect()[/QUTOE]
мож длл-ку надо врубить? - первое, что подумал...
зырь в пхп.ини
еще мож путь для экстешенов поправить? (там-же)
 
T

TWin

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

_serg_

Да не, в PHP всё для MySQL уже встроено, внешние библиотеки не нужны.
Это вроде бы только для старых версий надо было включать
библиотеки-то есть и в новых. смотрим в пхп.ини.
но вот не факт, что в php.ini точка с запятой перед mysql.dll не выставлена
а вообще, в дистрибе php есть файл INSTALL, где если все делать по шагам, все заработает. проверено не раз.
фраза
Call to undefined function mysql_connect()
по-моему однозначно говорит о том, что пхп не нашло библиотеку мускуля
отсюда:
1. либо пути
2. либо отключена загрузка длл
3. мож надо path куда-нить прописать? (но это уже пальцем в небо)
 
T

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 ковырять.
 
I

ioni

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

Ваше решение?
 
P

Pitc

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

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

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

TWin
Работоспособность MySQL сначала надо проверить, а потом PHP ковырять.
Какой нафиг mysql проверять если функция подключентия не определена !!!
;Windows Extensions
;Note that MySQL and ODBC support is now built in, so no dll is needed for it.
Если использовать стандартные настройки то подключаться к базе насколько я помню нуна подругому..
 
T

TWin

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

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

Версии в студию!!!
 
P

Pitc

с четвертой версией все должно работать без внесения изменений, но в 5 одно из решений этой проблемы я написал выше. Просто в 5 разработчики советуют не использовать эту библиотеку , и при вызове функции возникает ошибка если php не настроен т.к эта библиотека закоменчина.
С 5-й PHP ещё не работал, т.к. у хостеров стоит в большинстве 4-я.
Много потерял . ;)
 
A

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
там есть коммандная строка и все пашет создавал базы-создаются
 
S

_serg_

Сам по себе mysql работает
проверял через phpMyAdmin Database Manager Version 2.6.0-pl2
там есть коммандная строка и все пашет создавал базы-создаются
какая командная строка? у мускуля есть свой шелл. можно через обычный цмд к нему присосаться. но чтобы в phpMyAdmin была командая строка... не помню такого.

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

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

Australian Aborigen

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

_serg_

Командная строка mysql в phpmyadmin имеется
где можно послать sql-запросы
это текстареа что-ли? :(
какая же это командная строка
это просто поле для ввода sql-запроса
 
A

Australian Aborigen

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

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_ выставите отображение всех ошибок и ворнингов в пхп.ини (мне это очень помогло).
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!