MySQL и PHP: Подключение к базе данных

Этот урок описывает подключение к базе данных MySQL с помощью PHP. Для работы необходимы локальный сервер (например, Open Server или XAMPP), текстовый редактор (например, PhpStorm, Visual Studio Code или Блокнот) и созданный проект.

Начало работы

Запустите локальный сервер. Откройте проект в текстовом редакторе. (Для Open Server это папка с сайтами в панели управления). Создайте файл index.php. Добавьте в него следующий HTML-код:

<!DOCTYPE html>
<html>
<head>
  <title>PHP + MySQL</title>
</head>
<body>
  <h1>PHP + MySQL</h1>
</body>
</html>

Запустите index.php в браузере. (В Open Server это можно сделать через панель управления, в разделе «Мои сайты»).

Подключение к базе данных

Для подключения к MySQL через PHP используем класс mysqli, обеспечивая защищённое соединение:

<?php
$conn = new mysqli('localhost', 'root', 'root', 'php-mysql'); 

// Установка кодировки
$conn->query("SET NAMES 'utf8'");

// Закрытие соединения
$conn->close();
?>

В этом коде:

  • localhost – хост (для локального сервера). Для удалённого сервера это значение будет другим (уточняйте у хостинг-провайдера).
  • root – имя пользователя (для XAMPP – root, для Open Server – mysql).
  • root – пароль (для XAMPP – root, для Open Server – mysql).
  • php-mysql – имя базы данных.

Подключение одинаково для локальных и удалённых серверов, изменяются только параметры.

Проверка подключения и обработка ошибок

Для проверки подключения и обработки ошибок добавим код:

<?php
$conn = new mysqli('localhost', 'root', 'root', 'php-mysql'); 

if ($conn->connect_error) {
  echo "Error number: " . $conn->connect_errno . "<br>";
  echo "Error: " . $conn->connect_error;
} else {
  echo "Host info: " . $conn->host_info; // Информация о подключении. Можно закомментировать.
}

$conn->close();
?>

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

Работа с SQL-запросами

Выполним SQL-запросы. Создайте таблицу example в phpMyAdmin (или аналогичном инструменте): два поля – id (INT, PRIMARY KEY, AUTO_INCREMENT) и name (VARCHAR(50)). Далее, удалим и создадим её заново с помощью PHP:

<?php
$conn = new mysqli('localhost', 'root', 'root', 'php-mysql'); 

if ($conn->connect_error) {
  // Обработка ошибки подключения (как показано выше)
} else {
  // Удаление таблицы
  $conn->query("DROP TABLE `example`");

  // Создание таблицы
  $conn->query("CREATE TABLE `users` (
    `id` INT NOT NULL AUTO_INCREMENT,
    `name` VARCHAR(50) NOT NULL,
    `bio` TEXT NOT NULL,
    PRIMARY KEY (`id`)
  )");

}

$conn->close();
?>

Обратите внимание на использование заглавных букв в SQL-командах и строчных – в именах таблиц и полей.

В этом уроке мы рассмотрели подключение к MySQL через PHP, обработку ошибок и выполнение базовых SQL-запросов. Следующие уроки будут посвящены более сложным командам. Закрывайте соединение с базой данных после работы, чтобы снизить нагрузку на сервер.

Что будем искать? Например,программа