Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Неудачное соединение с БД
Форумы портала PHP.SU » Серверное администрирование » Администрирование БД » Неудачное соединение с БД

Страниц (1): [1]
 

1. Эдвард - 14 Июля, 2014 - 20:55:27 - перейти к сообщению
Не получается соединиться с MySQL. Каждый раз выскакивает сообщение об ошибке. Что делаю не так?

Код соединения:

PHP:
скопировать код в буфер обмена
  1. $hostname = "localhost";
  2. $username = "u312719474_ed";
  3. $password = "";
  4. $dbName = "u312719474_med";
  5.  
  6. $table = "med";
  7.  
  8. mysql_connect($hostname, $username, $password) or die ("Ошибка соединения");
2. Мелкий - 14 Июля, 2014 - 21:26:03 - перейти к сообщению
Ну так пусть СУБД и скажет: mysql_error
3. Эдвард - 14 Июля, 2014 - 21:46:04 - перейти к сообщению
[quote=Мелкий][/quote]

Ок. Убрал «or die ("Ошибка соединения")» и получил такой ответ: «Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2 "No such file or directory")». Не совсем понимаю, о чём речь, но, похоже, не хватает какого-то файла. Может, кто-то сможет пояснить?
4. Мелкий - 14 Июля, 2014 - 22:53:28 - перейти к сообщению
Это шаред-хостинг?
Проверьте, правильно ли переписали hostname. Если правильно - пинайте техподдержку, пусть скажут верный (или запустят ушедший отдохнуть mysql, по обстоятельствам)
5. Эдвард - 14 Июля, 2014 - 23:14:01 - перейти к сообщению
Мелкий пишет:
Это шаред-хостинг?


Угадали. Там ещё и лимит на количество сообщений в техподдержку (1 шт/сутки). Хм Бум ждать...
6. Эдвард - 12 Августа, 2014 - 16:56:33 - перейти к сообщению
Мелкий пишет:
Это шаред-хостинг?
Проверьте, правильно ли переписали hostname. Если правильно - пинайте техподдержку, пусть скажут верный (или запустят ушедший отдохнуть mysql, по обстоятельствам)


После того, как поменял $hostname, техподдержка подтвердила соответствие данных и исправность БД. Тем не менее, при попытках подключения всплывает всё та же ошибка. Какие ещё версии возможны?
7. Мелкий - 12 Августа, 2014 - 17:06:45 - перейти к сообщению
0) съезжайте к нормальному хостеру.
1) попробуйте hostname 127.0.0.1
8. Эдвард - 12 Августа, 2014 - 17:17:26 - перейти к сообщению
Мелкий пишет:

1) попробуйте hostname 127.0.0.1


Пробовал $hostname = "127.0.0.1" – та же ошибка. Может, я сам что-то напортачил, когда создавал таблицу БД через phpMyAdmin? Может, где-то какой-то путь не указал? Дело в том, что это мой первый опыт работы с MySQL.
9. Мелкий - 12 Августа, 2014 - 18:24:56 - перейти к сообщению
Эдвард пишет:
0) съезжайте к нормальному хостеру.

Эдвард пишет:
Дело в том, что это мой первый опыт работы с MySQL.

Т.е., на локальную машину. Или виртуалку.
10. Эдвард - 12 Августа, 2014 - 21:48:24 - перейти к сообщению
Мелкий пишет:
[/quote]
Т.е., на локальную машину. Или виртуалку.


Скорее всего, ошибка не в хостинге, а в том, что сам где-то что-то упустил (например, при создании таблицы БД). При каких ситуациях (кроме неверных параметров соединения) возможна подобная ошибка?
11. Мелкий - 12 Августа, 2014 - 22:48:04 - перейти к сообщению
Эдвард пишет:
При каких ситуациях (кроме неверных параметров соединения) возможна подобная ошибка?

Ни при каких, кроме тех, что должен решать хостер.
12. Эдвард - 14 Августа, 2014 - 21:41:38 - перейти к сообщению
Как говорится, "а ларчик просто открывался". Оказывается, причина ошибки подключения к БД заключалась в отсутствии пароля в строчке $password = "". Странно, что этого не заметили ни здесь, ни в службе поддержки хостинга.

А обнаружилась причина после того, как поменял mysql_connect($hostname, $username, $password) or die ("Ошибка соединения") на mysql_connect($hostname, $username, $password) or die (mysql_error()).
13. Sail - 15 Августа, 2014 - 07:59:36 - перейти к сообщению
Эдвард пишет:
Странно, что этого не заметили ни здесь, ни в службе поддержки хостинга

Не странно. Заметили. Но:
1. Кто-ж будет в открытый доступ выкладывать пароль? Обычная практика конфиденциальную информацию в сообщении убирать/изменять.
2.
Мелкий пишет:
Ну так пусть СУБД и скажет: mysql_error
- первый из ответов на заданный вопрос!

 

Powered by ExBB FM 1.0 RC1