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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Ошибка подключения к mysql

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
phpmir
Отправлено: 17 Ноября, 2015 - 10:09:42
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Нояб. 2015  


Помог: 0 раз(а)




Здравствуйте!
Подключаюсь к 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
Как исправить?
 
 Top
Faraon-san
Отправлено: 17 Ноября, 2015 - 10:12:31
Post Id



Посетитель


Покинул форум
Сообщений всего: 318
Дата рег-ции: Сент. 2013  


Помог: 8 раз(а)




О чем ошибка тебе говорит?
 
 Top
phpmir
Отправлено: 17 Ноября, 2015 - 10:14:00
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Нояб. 2015  


Помог: 0 раз(а)




Faraon-san пишет:
О чем ошибка тебе говорит?


О том, что не верные данные. Но я хочу получить false без ошибок!
 
 Top
Faraon-san
Отправлено: 17 Ноября, 2015 - 10:22:41
Post Id



Посетитель


Покинул форум
Сообщений всего: 318
Дата рег-ции: Сент. 2013  


Помог: 8 раз(а)




зачем вы пытаетесь получить false?
отключите бд и будет вам false
 
 Top
phpmir
Отправлено: 17 Ноября, 2015 - 10:26:47
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Нояб. 2015  


Помог: 0 раз(а)




Faraon-san пишет:
отключите бд и будет вам false

То есть вы хотите сказать, что
вовсе не возвращает false и на сайтах и в частности тут http://www.php.su/mysql_connect врут?
 
 Top
Faraon-san
Отправлено: 17 Ноября, 2015 - 10:36:30
Post Id



Посетитель


Покинул форум
Сообщений всего: 318
Дата рег-ции: Сент. 2013  


Помог: 8 раз(а)




нет, там не врут, у вас ошибки включены все, если вы отключите то вернет false при не удачном подключении.

(Отредактировано автором: 17 Ноября, 2015 - 10:37:31)

 
 Top
Sail
Отправлено: 17 Ноября, 2015 - 10:37:08
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




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-расширение устарело и даже местами удалено.
 
 Top
phpmir
Отправлено: 17 Ноября, 2015 - 10:47:05
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Нояб. 2015  


Помог: 0 раз(а)




Sail, у меня другая функция не вызывается, а ошибка идет именно на той строке, где mysql_connect.

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



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




phpmir пишет:
у меня другая функция не вызывается, а ошибка идет именно на той строке, где mysql_connect

Ещё раз намекну, что вывод информации в браузер или логи и возвращаемое функцией значение - совершенно разные вещи Улыбка
 
 Top
Faraon-san
Отправлено: 17 Ноября, 2015 - 10:51:16
Post Id



Посетитель


Покинул форум
Сообщений всего: 318
Дата рег-ции: Сент. 2013  


Помог: 8 раз(а)




@ не надо пользоваться, сделайте вот так:
PHP:
скопировать код в буфер обмена
  1. try{
  2.         $connect = mysql_connect($config['host'], $config['user'], $config['pass']);
  3. } catch(Exception $e){
  4.         $connect = false;
  5. }

(Отредактировано автором: 17 Ноября, 2015 - 10:56:16)

 
 Top
Sail
Отправлено: 17 Ноября, 2015 - 10:51:55
Post Id



Участник


Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014  


Помог: 57 раз(а)




Faraon-san, не тот случай для try/catch
(Добавление)
Во-первых, функция и так вернёт FALSE в случае ошибки соединения, а во-вторых - не выкидывает она исключение.
 
 Top
phpmir
Отправлено: 17 Ноября, 2015 - 11:01:16
Post Id


Новичок


Покинул форум
Сообщений всего: 5
Дата рег-ции: Нояб. 2015  


Помог: 0 раз(а)




Cпасибо sail,

ловит ошибки, но не логи.
 
 Top
Faraon-san
Отправлено: 17 Ноября, 2015 - 11:08:38
Post Id



Посетитель


Покинул форум
Сообщений всего: 318
Дата рег-ции: Сент. 2013  


Помог: 8 раз(а)




Sail да, точно, не выкидывает, древняя хрень.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с СУБД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB