English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP Основной Учебник

PHP Уровеньный Учебник

PHP & MySQL

PHP Референс Мануал

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

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

Метод подключения к MySQL через PHP

Чтобы хранить или доступа к данным в базе данных MySQL, вам сначала нужно подключиться к серверу MySQL. PHP предоставляет два различных способа подключения к серверу MySQL:MySQLi(улучшенный MySQL) иPDO(PHP Data Objects) расширение.

Хотя расширение PDO имеет лучшую портативность и поддерживает более двенадцати различных баз данных, как следует из названия, расширение MySQLi поддерживает только базу данных MySQL. Однако расширение MySQLi предоставляет удобный способ подключения к серверу MySQL и выполнения запросов в ней. PDO и MySQLi предоставляют面向对象的 API, но MySQLi также предоставляет процедурный API, который для начинающих относительно легко понять.

Совет:По сравнению с расширением PDO, расширение MySQLi PHP предоставляет как скорость, так и функциональные преимущества, поэтому для проектов, специфичных для MySQL, оно может быть лучшим выбором.

Подключение к серверу MySQL数据库

В PHP вы можете легко выполнить это с помощью функции mysqli_connect(). Все коммуникации между PHP и сервером MySQL数据库 проходят через это соединение. Вот три основных способа подключения к MySQL с помощью расширений MySQLi и PDO:

Синтаксис: MySQLi, программный подход

$link = mysqli_connect("hostname", "username", "password", "database");

Синтаксис: MySQLi, объектно-ориентированный подход

$mysqli = new mysqli("hostname", "username", "password", "database");

Синтаксис: метод PHP данных объекта (PDO)

$pdo = new PDO("mysql:host=hostname;dbname=database", "username", "password");

В приведенной выше синтаксисе параметр hostname указывает имя хоста (например, localhost) или IP-адрес сервера MySQL, а параметры username и password указывают учетные данные для доступа к серверу MySQL, а параметр базы данных (если предоставлен) определяет базу данных, которую будет использовать MySQL при выполнении запросов.

ниже приведен пример того, как использовать MySQLi (программаиобъектно-ориентированныйметодом) и расширением PDO для подключения к серверу MySQL数据库.

Онлайн пример

<?php
/* Попытка подключения к серверу MySQL. Предполагается, что вы запускаете MySQL.
Сервер с-default настройками (пользователь без пароля "root") */
$link = mysqli_connect("localhost", "root", ");
 
//Проверка подключения
if($link === false){
    die("Ошибка: Невозможно подключиться." . mysqli_connect_error());
}
 
//Печать информации о хосте
echo "Подключение успешно. Информация о хосте: " . mysqli_get_host_info($link);
?>
<?php
/* Попытка подключения к серверу MySQL. Предполагается, что вы запускаете MySQL.
Сервер с-default настройками (пользователь без пароля "root") */
$mysqli = new mysqli("localhost", "root", "", "demo");
 
//Проверка подключения
if($mysqli === false){
    die("Ошибка: Невозможно подключиться." . $mysqli->connect_error);
}
 
//Печать информации о хосте
echo "Подключение успешно. Информация о хосте: ". $mysqli->host_info;
?>
<?php
/* Попытка подключения к серверу MySQL. Предполагается, что вы запускаете MySQL.
Сервер с-default настройками (пользователь без пароля "root") */
try{
    $pdo = new PDO("mysql:host=localhost", "root", "");
    
    //Установка режима ошибок PDO на исключения
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    //Печать информации о хосте
    echo "Подключение успешно. Информация о хосте: ". $pdo->getAttribute(constant("PDO::ATTR_CONNECTION_STATUS"));
} catch(PDOException $e){
    die("Ошибка: Невозможно подключиться. ". $e->getMessage());
}
?>

Внимание: По умолчанию имя пользователя сервера MySQL — root, пароля нет. Однако, чтобы предотвратить несанкционированный доступ и взлом базы данных, вам следует установить пароль для учетной записи MySQL.

Совет:Установка атрибута PDO::ATTR_ERRMODE в PDO::ERRMODE_EXCEPTION будет сообщать PDO о том, что при возникновении ошибки в базе данных должны быть выброшены исключения.

Закрытие подключения к серверу MySQL

После выполнения скрипта подключение к серверу MySQL будет автоматически закрыто. Однако, если вы хотите закрыть его заранее, просто вызовите функцию PHP mysqli_close().

Онлайн пример

<?php
/* Попытка подключения к серверу MySQL. Предполагается, что вы запускаете MySQL.
Сервер с-default настройками (пользователь без пароля "root")*/
$link = mysqli_connect("localhost", "root", ");
 
//Проверка подключения
if($link === false){
    die("Ошибка: Невозможно подключиться." . mysqli_connect_error());
}
 
//Печать информации о хосте
echo "Подключение успешно. Информация о хосте: " . mysqli_get_host_info($link);
 
//Закрытие подключения
mysqli_close($link);
?>
<?php
/* Попытка подключения к серверу MySQL. Предполагается, что вы запускаете MySQL.
Сервер с-default настройками (пользователь без пароля "root") */
$mysqli = new mysqli("localhost", "root", "", "demo");
 
//Проверка подключения
if($mysqli === false){
    die("Ошибка: Невозможно подключиться." . $mysqli->connect_error);
}
 
//Печать информации о хосте
echo "Подключение успешно. Информация о хосте: " . $mysqli->host_info;
 
//Закрытие подключения
$mysqli->close();
?>
<?php
/* Попытка подключения к серверу MySQL. Предполагается, что вы запускаете MySQL.
Сервер с-default настройками (пользователь без пароля "root") */
try{
    $pdo = new PDO("mysql:host=localhost;dbname=demo", "root", "");
    
    //Установка режима ошибок PDO на исключения
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    //Печать информации о хосте
    echo "Подключение успешно. Информация о хосте: " . $pdo->getAttribute(constant("PDO::ATTR_CONNECTION_STATUS"));
} catch(PDOException $e){
    die("Ошибка: Невозможно подключиться." . $e->getMessage());
}
 
//Закрытие подключения
unset($pdo);
?>