English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этом руководстве вы узнаете, как подключиться к серверу 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, оно может быть лучшим выбором.
В PHP вы можете легко выполнить это с помощью функции mysqli_connect(). Все коммуникации между PHP и сервером MySQL数据库 проходят через это соединение. Вот три основных способа подключения к MySQL с помощью расширений MySQLi и PDO:
$link = mysqli_connect("hostname", "username", "password", "database");
$mysqli = new mysqli("hostname", "username", "password", "database");
$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 будет автоматически закрыто. Однако, если вы хотите закрыть его заранее, просто вызовите функцию 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); ?>