<?php $host = 'localhost'; $user = 'root'; $password = 'хххххххх'; $db = 'website'; $connection = mysqli_connect($host, $user, $password, $db); if (!$connection) { throw new Exception('Ошибка подключения к БД: ' . mysqli_connect_error()); } if (!mysqli_set_charset($connection, 'utf8mb4')) { throw new Exception('Ошибка установки кодировки: ' . mysqli_error($connection)); } // $connection теперь можно использовать в этом файле ?>
Этот фрагмент кода — базовый, но рабочий способ подключиться к MySQL через расширение mysqli. Его можно сохранить в отдельный файл (например, db_connect.php) и подключать в других скриптах через require или include.
Настройка параметров
$host = 'localhost'; $user = 'root'; $password = 'ххххххх'; $db = 'website';
$host— адрес сервера базы данных. В локальной разработке это чаще всегоlocalhost. На хостинге может быть специальный хост вродеmysql.example.com.$userи$password— логин и пароль пользователя БД. У тебя здесьrootс паролем — это нормально для локальной среды, но на реальном сайте так делать не стоит: лучше создать отдельного пользователя с ограниченными правами.$db— имя базы данных, к которой подключаемся (website).
Само подключение
$connection = mysqli_connect($host, $user, $password, $db);
Функция mysqli_connect пытается установить соединение. Если всё хорошо, в переменную $connection попадает ресурс соединения, который потом используют для запросов. Если нет — возвращается false.
Проверка ошибки подключения
if (!$connection) { throw new Exception('Ошибка подключения к БД: ' . mysqli_connect_error()); }
Если соединение не удалось, mysqli_connect_error() вернёт понятное сообщение от MySQL (например, «Access denied» или «Unknown database»). Здесь мы не просто выводим ошибку, а выбрасываем исключение (throw new Exception). Это удобно, если у тебя в проекте есть централизованная обработка ошибок или логирование: вместо «страница упала» ты можешь аккуратно записать проблему и показать пользователю нейтральное сообщение.
Для простых скриптов иногда пишут
die(...), но в более серьёзных задачах исключения лучше: они позволяют отделить логику от обработки сбоев.
Установка кодировки
if (!mysqli_set_charset($connection, 'utf8mb4')) { throw new Exception('Ошибка установки кодировки: ' . mysqli_error($connection)); }
Здесь задаётся кодировка соединения — обязательно utf8mb4. Это важно:
utf8в MySQL — это «урезанный» вариант, он не поддерживает эмодзи и некоторые редкие символы.utf8mb4— полноценная UTF‑8, которая покрывает всё.
Если кодировку не выставить, могут появиться «кракозябры» вместо русских букв или эмодзи. Проверка через if нужна, чтобы сразу заметить проблему, если сервер её не примет.
Как использовать в других файлах
Допустим, ты сохранил этот код в db_connect.php. Тогда в любом другом файле достаточно написать:
require 'db_connect.php'; $result = mysqli_query($connection, "SELECT * FROM pages WHERE is_published = 1"); while ($row = mysqli_fetch_assoc($result)) { echo htmlspecialchars($row['title']) . '<br>'; }
Переменная $connection уже готова к работе.
