PHP подключение к MySQL


В рамках материала приведен простейший скрипт, позволяющий проверять PHP подключение к MySQL.

Из PHP к MySQL обращение идет через функцию mysql_connect или mysqli_connect. Можно также тестировать если подключение из консоли сервера выполняя команду mysql -h HOST -u USERNAME -pPASSWORD, это может быть удобнее делать PHP скриптом.



PHP подключение к MySQL

Тестовый скрипт для проверки возможности подключения — в скрипте используется PHP функция mysql_connect, а также функции mysql_select_db  и mysql_query:



<?php
$dblocation = 'ip адрес сервера баз данных';
$dbname = 'имя базы';
$dbuser = 'имя пользователя БД';
$dbpasswd = 'пароль пользователя';
$dbcnx = mysql_connect($dblocation, $dbuser, $dbpasswd);
if (!$dbcnx)
{
echo '<p>Попытка подключения не удалась MySQL</p>';
exit();
}
if (!mysql_select_db($dbname,$dbcnx) )
{
echo '<p>Выбрать базу данных невозможно</p>';
exit();
}
$ver = mysql_query('SELECT VERSION()');
if(!$ver)
{
echo '<p>Запрос неверен</p>';
exit();
}
echo mysql_result($ver, 0);
?>

В скрипте использована функция mysql_connect, она есть в версии PHP 5.6 и раньше, для более свежих версий нужно заменить имя функции на mysqli_connect.



Скрипт размещается в корне сайта, например под именем testdb.php к нему нужно обратиться из браузера по домену и имени скрипта от корня.


Пример и результат показаны на скриншоте.

php подключение к mysql


В случае успеха возвращается версия MySQL-сервера. Чтобы скрипт выполнялся на MySQL сервере должна быть активирована возможность подключения из вне (если используется не localhost).


Подключение может не происходить по ряду очевидных причин: не существует базы данных, не существует пользователя базы данных или у него не хватает привилегий для работы с базой, вводится неверный пароль, нет нужных расширений в PHP.



Также может не функционировать и сам сервер MySQL.

Проверить сам сервер MySQL, реквизиты доступа и привилегии можно подключившись к серверу из консоли. Процесс показан в статье про создание пользователя MySQL

Сказать спасибо
Categories: