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 :: Версия для печати :: Ошибка подключения к mysql
Форумы портала PHP.SU » » Работа с СУБД » Ошибка подключения к mysql

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

1. phpmir - 17 Ноября, 2015 - 10:09:42 - перейти к сообщению
Здравствуйте!
Подключаюсь к mysql так
PHP:
скопировать код в буфер обмена
  1. $connect = mysql_connect($config['host'], $config['user'], $config['pass']);

Версия php 5.3.13

на просторах интернета нашел следующее:
mysql_connect
Возвращает указатель на соединение с MySQL в случае успешного выполнения, или FALSE при неудаче.

Вот только вместо false я получаю ошибку Access denied for user
Как исправить?
2. Faraon-san - 17 Ноября, 2015 - 10:12:31 - перейти к сообщению
О чем ошибка тебе говорит?
3. phpmir - 17 Ноября, 2015 - 10:14:00 - перейти к сообщению
Faraon-san пишет:
О чем ошибка тебе говорит?


О том, что не верные данные. Но я хочу получить false без ошибок!
4. Faraon-san - 17 Ноября, 2015 - 10:22:41 - перейти к сообщению
зачем вы пытаетесь получить false?
отключите бд и будет вам false
5. phpmir - 17 Ноября, 2015 - 10:26:47 - перейти к сообщению
Faraon-san пишет:
отключите бд и будет вам false

То есть вы хотите сказать, что
вовсе не возвращает false и на сайтах и в частности тут http://www.php.su/mysql_connect врут?
6. Faraon-san - 17 Ноября, 2015 - 10:36:30 - перейти к сообщению
нет, там не врут, у вас ошибки включены все, если вы отключите то вернет false при не удачном подключении.
7. Sail - 17 Ноября, 2015 - 10:37:08 - перейти к сообщению
phpmir пишет:
Вот только вместо false я получаю ошибку Access denied for user

Вы получаете FALSE в переменную $connect.
Текст ошибки выводит в браузер другая функция.
Например:
PHP:
скопировать код в буфер обмена
  1. $mysql = mysql_connect('localhost', 'user', 'password', 'test');
  2. /* проверка подключения */
  3. if ($mysql === FALSE) {
  4.     printf("Не удалось подключиться. Ошибка (%s\n", mysql_errno().'): '.  mysql_error());
  5.     exit();
  6. }

Ну и, конечно-же не забываем, что mysql-расширение устарело и даже местами удалено.
8. phpmir - 17 Ноября, 2015 - 10:47:05 - перейти к сообщению
Sail, у меня другая функция не вызывается, а ошибка идет именно на той строке, где mysql_connect.

Faraon-san да, ошибки включены, но отключать их не хочу глобально.
(Добавление)
на одном из форумов подсказали сделать так @mysql_connect и это помогло
9. Sail - 17 Ноября, 2015 - 10:51:14 - перейти к сообщению
phpmir пишет:
у меня другая функция не вызывается, а ошибка идет именно на той строке, где mysql_connect

Ещё раз намекну, что вывод информации в браузер или логи и возвращаемое функцией значение - совершенно разные вещи Улыбка
10. Faraon-san - 17 Ноября, 2015 - 10:51:16 - перейти к сообщению
@ не надо пользоваться, сделайте вот так:
PHP:
скопировать код в буфер обмена
  1. try{
  2.         $connect = mysql_connect($config['host'], $config['user'], $config['pass']);
  3. } catch(Exception $e){
  4.         $connect = false;
  5. }
11. Sail - 17 Ноября, 2015 - 10:51:55 - перейти к сообщению
Faraon-san, не тот случай для try/catch
(Добавление)
Во-первых, функция и так вернёт FALSE в случае ошибки соединения, а во-вторых - не выкидывает она исключение.
12. phpmir - 17 Ноября, 2015 - 11:01:16 - перейти к сообщению
Cпасибо sail,

ловит ошибки, но не логи.
13. Faraon-san - 17 Ноября, 2015 - 11:08:38 - перейти к сообщению
Sail да, точно, не выкидывает, древняя хрень.

 

Powered by ExBB FM 1.0 RC1