У меня есть некоторые проблемы с подключением к серверу mysql. Я могу подключиться с помощью терминала linux, поэтому я знаю, что работает мой хост, порт, пользователь и пароль. Однако я не могу подключиться с помощью PHP.
Версия PHP: 5.2.17
Версия сервера: 5.5.27-log Сервер сообщества MySQL (GPL)
Вот пример тестового кода:
<?php $link = mysqli_connect('host.com:5306', 'user', 'pass', 'db'); /* check connection */ if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } if (!mysqli_query($link, "SET a=1")) { printf("Errormessage: %s\n", mysqli_error($link)); } /* close connection */ mysqli_close($link); ?>
Предоставляет следующее предупреждение:
Warning: mysqli_connect() [function.mysqli-connect]: (HY000/2005): Unknown MySQL server host 'host.com:5306' (1) in /.../test.php on line 3 Connect failed: Unknown MySQL server host 'host.com:5306' (1)
Любые идеи о том, что делать? Заранее спасибо!
Номер порта должен быть отдельным аргументом:
$link = mysqli_connect('host', 'user', 'pass', 'db', 5306);
Любые идеи о том, что делать?
Конечно. Простое трехэтапное решение для каждой проблемы относительно любой php-функции:
php.net/
в адресной строке, а затем имя проблемы: php.net/mysqli_connect
Теперь вы можете прочитать его описание и посмотреть список правильных параметров.
host – это IP вашего сервера mysql, или, может быть, «localhost»,
Параметр host в функции mysql должен быть «localhost» или «127.0.0.1»,
Вы устанавливаете параметр как «host: port», и это ваша ошибка. Это должен быть полный псевдоним сети на сервере или удаленном сервере с полным IP-адресом. Вы можете найти дополнительную информацию об этой ошибке здесь: http://compnetworking.about.com/od/workingwithipaddresses/g/127_0_0_1_def.htm
Книга mysql в php.net: http://www.php.net/manual/en/function.mysql-connect.php