Потом решил проверить, PHP работает с дб mySQL или нет, взял скриптик (стандартный)
<?php
$dblocation = "127.0.0.1";
$dbname = "root";
$dbuser = "root";
$dbpasswd = "root";
$dbcnx = @mysql_connect($dblocation, $dbuser, $dbpasswd);
if (!$dbcnx)
{
echo "<p>К сожалению, не доступен сервер mySQL</p>";
echo mysql_error();
exit();
}
if (!@mysql_select_db($dbname,$dbcnx) )
{
echo "<p>К сожалению, не доступна база данных</p>";
echo mysql_error();
exit();
}
$ver = mysql_query("SELECT VERSION()");
if(!$ver)
{
echo "<p>Ошибка в запросе</p>";
exit();
}
echo mysql_result($ver, 0);
?>
запускаю и вот сообщение мне выдает:
"К сожалению, не доступен сервер mySQL
Access denied for user 'root'@'localhost' (using password: YES)"
Копался в интернете и ни чего подобного не нашел. Брандмаузер не раотает (а то говорят что он влияет на работу), касперский отключен, служба mySQL запущена, скриптик лежит в папке htdocs (от Apache), запускаю вот таким способом: http//localhost/sqlinfo.php.
Помогите пожалуйста, а то эта дб скушает мой мозг.
P.S. в установке mySQL было три строчки на этапе security optins и я их всех заполнил словом "root".
Спасибо заранее за помощь.
Спустя 24 минуты, 8 секунд (2.04.2011 - 13:07) ИНСИ написал(а):
chudilo где это ты нашел : :)
Цитата |
скриптик (стандартный) |
Попробуй вот это:
if(mysql_connect('localhost', 'root', '') === true)
echo 'OK';
else
echo 'Error';
Спустя 2 минуты, 26 секунд (2.04.2011 - 13:10) Snus написал(а):
velbox
mysql_connect($host,$log,$pwd) or die('ERROR');
Спустя 38 минут, 7 секунд (2.04.2011 - 13:48) Trianon написал(а):
chudilo
скрипт у Вас более чем корректный.
Диагностика Access denied for user 'root'@'localhost' (using password: YES)" означает, что сервер БД доступен (никакой брендмауер его не загораживает) , и в принципе принимает запросы, но пользователь root с паролем root ему неизвестен.
Так что дело у Вас не в php, а в том, что Вы не знаете каким пользователем к нему подключиться.
Вероятно, Вы всё же что-то напутали, когда определялись с поролем пользователя root при установке сервера.
Проверять это всяко лучше не из-под php, а стандартными утилитами MySQL
скрипт у Вас более чем корректный.
Диагностика Access denied for user 'root'@'localhost' (using password: YES)" означает, что сервер БД доступен (никакой брендмауер его не загораживает) , и в принципе принимает запросы, но пользователь root с паролем root ему неизвестен.
Так что дело у Вас не в php, а в том, что Вы не знаете каким пользователем к нему подключиться.
Вероятно, Вы всё же что-то напутали, когда определялись с поролем пользователя root при установке сервера.
Проверять это всяко лучше не из-под php, а стандартными утилитами MySQL
Спустя 1 час, 12 минут, 52 секунды (2.04.2011 - 15:01) chudilo написал(а):
прошлые примеры не помогли - пустые листы.
А вот на счет каким пользователем к нему подключиться - там-же если пользователя ввести и правильно пароль, имя, то тогда должно же присоединиться или я всетаки не понимаю чего-то?
А вот на счет каким пользователем к нему подключиться - там-же если пользователя ввести и правильно пароль, имя, то тогда должно же присоединиться или я всетаки не понимаю чего-то?
Спустя 8 минут, 15 секунд (2.04.2011 - 15:09) chudilo написал(а):
а сейчас я опять вернул свой прошлый код и выводится только 1 слово Hello
но если убрать строчку
то тогда он выдает на экран
"HelloHelloHello
К сожалению, не доступен сервер mySQL"
это как так Оо
<?php
$dblocation = "127.0.0.1";
$dbname = "root";
$dbuser = "root";
$dbpasswd = "root";
echo "Hello";
$dbcnx = @mysql_connect($dblocation, $dbuser, $dbpasswd);
echo "Hello";
if (!$dbcnx)
{
echo "Hello";
echo "<p>К сожалению, не доступен сервер mySQL</p>";
echo mysql_error();
exit();
}
echo "Hello";
if (!@mysql_select_db($dbname,$dbcnx) )
{
echo "Hello";
echo "<p>К сожалению, не доступна база данных</p>";
echo mysql_error();
exit();
}
echo "Hello";
$ver = mysql_query("SELECT VERSION()");
if(!$ver)
{
echo "<p>Ошибка в запросе</p>";
exit();
}
echo "Hello";
echo mysql_result($ver, 0);
?>
но если убрать строчку
$dbcnx = @mysql_connect($dblocation, $dbuser, $dbpasswd);
то тогда он выдает на экран
"HelloHelloHello
К сожалению, не доступен сервер mySQL"
это как так Оо
Спустя 9 минут, 43 секунды (2.04.2011 - 15:19) Trianon написал(а):
Вам нужно включить диагностику ошибок.
В php.ini директива
Error_reporting E_ALL
Точнее, Вам ни в коем случае не следовало её отключать.
Кроме того неясно, зачем у Вас в скрипте столько этого Hello?
И наконец, повторю, проверять работу MySQL сервера стоило бы не из-под php, а напрямую.
В php.ini директива
Error_reporting E_ALL
Точнее, Вам ни в коем случае не следовало её отключать.
Кроме того неясно, зачем у Вас в скрипте столько этого Hello?
И наконец, повторю, проверять работу MySQL сервера стоило бы не из-под php, а напрямую.
Спустя 6 минут, 10 секунд (2.04.2011 - 15:25) chudilo написал(а):
а Hello у меня так, чтобы видеть до куда программа работает...ну это мой метод ))
тут наткнулся на статейку, что в таких ситуациях надо лезть в командную строку и там мутить с правами доступа, я например для root установил пароль root и мне в командной строке терь пишется "using password: NO".
Error_reporing E_ALL - была выключена изначально, сейчас включил.
Но на страничке у меня всеравно только 1 Hello выводится и больше ни чего.
P.S.
тут наткнулся на статейку, что в таких ситуациях надо лезть в командную строку и там мутить с правами доступа, я например для root установил пароль root и мне в командной строке терь пишется "using password: NO".
Error_reporing E_ALL - была выключена изначально, сейчас включил.
Но на страничке у меня всеравно только 1 Hello выводится и больше ни чего.
P.S.
Цитата |
Проверьте первоначальные привилегии с помощью следующей команды: shell> mysql -u root test Подсоединение должно произойти без сбоя |
я сделал это, там без ошибок было, информация о mySQL и как получить помощь и все.
Спустя 3 минуты, 17 секунд (2.04.2011 - 15:28) alex12060 написал(а):
chudilo
Вы выставляли пароль? Если да, то нужно вспомнить, какой он?
По умолчанию, у мускула есть пользователь root, но у него не пароля. Попробуйте так:
Вы выставляли пароль? Если да, то нужно вспомнить, какой он?
По умолчанию, у мускула есть пользователь root, но у него не пароля. Попробуйте так:
$dblocation = "127.0.0.1";
$dbname = "root";
$dbuser = "root";
$dbpasswd = "";
$connect = mysql_connect($dblocation, $dbuser, $dbpasswd) or die("Could not connect to MySQL server: ".mysql_error());
$db = mysql_select_db($dbname, $connect) or die(mysql_error());
Спустя 2 минуты, 52 секунды (2.04.2011 - 15:31) Trianon написал(а):
Цитата |
а Hello у меня так, чтобы видеть до куда программа работает...ну это мой метод )) |
Видеть докуда программа работает крайне важно.
Но чтобы видеть это, следует писать не одинаковое Hello пять раз, А хотя бы Шаг1, Шаг2, Шаг3...
Спустя 2 минуты, 25 секунд (2.04.2011 - 15:34) chudilo написал(а):
Цитата (alex12060 @ 2.04.2011 - 12:28) |
chudilo Вы выставляли пароль? Если да, то нужно вспомнить, какой он? По умолчанию, у мускула есть пользователь root, но у него не пароля. Попробуйте так:
|
а я вот для root и выставил пароль, а выставил я его: root
да и тем более у меня на листе только слово Hello и больше ни чего
Спустя 1 минута, 38 секунд (2.04.2011 - 15:35) alex12060 написал(а):
Откройте терминал (командную строку) и введите это:
Нажмите энтер и введите праоль. Что выведет?
mysql -u root -p
Нажмите энтер и введите праоль. Что выведет?
Спустя 58 секунд (2.04.2011 - 15:36) chudilo написал(а):
Цитата (Trianon @ 2.04.2011 - 12:31) | ||
Видеть докуда программа работает крайне важно. Но чтобы видеть это, следует писать не одинаковое Hello пять раз, А хотя бы Шаг1, Шаг2, Шаг3... |
а если бы я понял что не первый hello выводится, я бы их пронумеровал )
Спустя 20 секунд (2.04.2011 - 15:36) Trianon написал(а):
Цитата |
для root установил пароль root и мне в командной строке терь пишется "using password: NO". |
using password: NO - пишется не тогда, когда Вы устанавливаете в настройках какой-то пароль, а когда сервер реагирует на недопустимую попытку подключения без указания пароля (или с указанием пустого пароля)
примерно такую, как Вам предложил выполнить Alex12060.
Спустя 2 минуты, 53 секунды (2.04.2011 - 15:39) chudilo написал(а):
Цитата (alex12060 @ 2.04.2011 - 12:35) |
Откройте терминал (командную строку) и введите это:
Нажмите энтер и введите праоль. Что выведет? |
грит, добро пожаловать mySQL monitor.
Спустя 10 минут, 16 секунд (2.04.2011 - 15:50) alex12060 написал(а):
$connect = mysql_connect("localhost", "root", "root") or die("Could not connect to MySQL server: ".mysql_error());
$db = mysql_select_db("root", $connect) or die("Could not select DB. ".mysql_error());
Если не сработает, то, наверное, у тебя уже стояла БД до этого, и ты удалил ее неккоректно.
Спустя 2 минуты, 10 секунд (2.04.2011 - 15:52) chudilo написал(а):
Цитата (alex12060 @ 2.04.2011 - 12:50) |
$connect = mysql_connect("localhost", "root", "root") or die("Could not connect to MySQL server: ".mysql_error()); Если не сработает, то, наверное, у тебя уже стояла БД до этого, и ты удалил ее неккоректно. |
вот просто скопировать в код и все?
Спустя 5 минут, 51 секунда (2.04.2011 - 15:58) chudilo написал(а):
ну кароче
и он ни чего не показал...наверное и не долже был показать, но и не выводит слово "Hello".
до этого у меня он же и был, проблема была в перезапуске дб, переустановил и вот она работает, ладно, сейчас удалю дб и заного поставлю, посмотрим что получится.
<?php
$connect = mysql_connect("localhost", "root", "root") or die("Could not connect to MySQL server: ".mysql_error());
$db = mysql_select_db("root", $connect) or die("Could not select DB. ".mysql_error());
echo "Hello";
?>
и он ни чего не показал...наверное и не долже был показать, но и не выводит слово "Hello".
до этого у меня он же и был, проблема была в перезапуске дб, переустановил и вот она работает, ладно, сейчас удалю дб и заного поставлю, посмотрим что получится.
Спустя 7 часов, 37 минут, 46 секунд (2.04.2011 - 23:35) chudilo написал(а):
кароче говоря, взял я другой ноутбук, на нем тоже стоял ссервер апач и пхп (такие же версии как я описывал в начале) и установил mySQL...пробую скриптик, который вначале этой темы показал - пустой лист, вхожу через шэл mysql -u root -p, ввожу пароль root и он меня приветствует. В папке php в файлике php.ini я убрал коммент с строчки "extension=php_mysql.dll", перезапустил сервер апач - тоже белый лист. Вот что делать? куда мне глазеть? где ошибка? такое чувство что я что-то не докапал в связке между mySQL и PHP, подскажите пожалуйста варианты. Если надо - я выложу настройки от php и mySQL (без комментариев конечноже).
P.S. что-то не доделал я, запустив скриптик phpInfo.php (который выводит инфу о php) вообще не говорится о mySQL...
P.S.S. вычитал, что если в корневой папке php нету файлика php_mysql.dll, то тогда ни каких настроек не надо, что php сама уже подключается и все прописано в ядре. Еще мне кажется какая то белеберда с запросом, вот в строчке:
т.к. если ее закоментить, то тогда скрипт выполняется и пишет, что нету подключения, а если не коментить эту строчку...то скрипт выполняется до этого момента и все, дальше молчок.
P.S. что-то не доделал я, запустив скриптик phpInfo.php (который выводит инфу о php) вообще не говорится о mySQL...
P.S.S. вычитал, что если в корневой папке php нету файлика php_mysql.dll, то тогда ни каких настроек не надо, что php сама уже подключается и все прописано в ядре. Еще мне кажется какая то белеберда с запросом, вот в строчке:
$dbcnx = mysql_connect($dblocation, $dbuser, $dbpasswd);
т.к. если ее закоментить, то тогда скрипт выполняется и пишет, что нету подключения, а если не коментить эту строчку...то скрипт выполняется до этого момента и все, дальше молчок.
Спустя 15 часов, 41 минута, 27 секунд (3.04.2011 - 15:17) chudilo написал(а):
сделал я, заработало, решилось таким способом:
полазил я на ворумах, вычила, что если в php есть dll php_mysql, надо сделать следующие настройки:
extension=php_mysql.dd разкоментить
mysql.default_port=3306 заполнить
mysql.default_host=localhost заполнить
после этого я перезагрузил комп и php увидел mySQL.
Выполнил вот такой код:
мне пишет следующее:
"К сожаленью, не доступна база данных
Resource id = 2
Unknown database 'root'"
это что означает? Он ищет дб с именем root?
полазил я на ворумах, вычила, что если в php есть dll php_mysql, надо сделать следующие настройки:
extension=php_mysql.dd разкоментить
mysql.default_port=3306 заполнить
mysql.default_host=localhost заполнить
после этого я перезагрузил комп и php увидел mySQL.
Выполнил вот такой код:
<?php
$dblocation = 'localhost';
$dbname = 'root';
$dbuser = 'root';
$dbpasswd = 'root';
!$dbcnx = mysql_connect($dblocation, $dbuser, $dbpasswd);
if (!$dbcnx)
{
echo "<p>К сожалению, не доступен сервер mySQL</p>";
exit();
}
if (!mysql_select_db($dbname,$dbcnx) )
{
echo "К сожалению, не доступна база данных<br>";
echo $dbcnx;
echo "<br>";
echo mysql_error();
exit();
}
$ver = mysql_query("SELECT VERSION()");
if(!$ver)
{
echo "<p>Ошибка в запросе</p>";
exit();
}
echo mysql_result($ver, 0);
?>
мне пишет следующее:
"К сожаленью, не доступна база данных
Resource id = 2
Unknown database 'root'"
это что означает? Он ищет дб с именем root?
Спустя 11 минут, 57 секунд (3.04.2011 - 15:29) chudilo написал(а):
все, кажись сделал, зашел я в шел, зашел под рутом, вписал такую строку:"CREATE DATABASE my_db;", он мне ответил:"Querry OK, 1 row affected (0.00 sec)", потом в скрипте я поменял
$dbname = 'root';на
$dbname = 'my_db';т он мне написал:"5.0.67-community-nt". Я так думаю можно считать, что я "поженил" PHP и mySQL и они друг друга понимают? )
Спустя 55 минут, 48 секунд (3.04.2011 - 16:25) Invis1ble написал(а):
chudilo
ну да, раз приконнектил апач к мускулу - значит поженил )
ну да, раз приконнектил апач к мускулу - значит поженил )
Спустя 13 минут, 3 секунды (3.04.2011 - 16:38) chudilo написал(а):
ага, уже протэстил, ща издеваюсь над mySQL, успел случайно удалить по дурости системную дб mysql. Всем огромное спасибо за помощь и ответы, буду сейчас всем ставить "+")))