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

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

Подключение к базе данных происходит через метод mysqli(). Буква i означает «improved» (рус. улучшенный).

$mysqli = new mysqli('localhost', 'user', 'password', 'db_table');

if ($mysqli->connect_error) {
    exit('Не удалось подключиться. Ошибка №'.$mysqli->connect_errno.': '.$mysqli->connect_error);
}

Функция mysql_query() является устаревшей с версии PHP 5.5.0. Коммит и сообщение.

Кодировка

Текущая кодировка MySQL может не поддерживать русские символы. Чтобы база данных корректно сохраняла русские символы, рекомендуется преобразовать кодировку в Юникод.

Указать кодировку можно через метод $mysqli->set_charset().

$mysqli = new mysqli('localhost', 'user', 'password', 'db_table');

// Задать кодировку
$mysqli->set_charset('utf8mb4');

Рекомендуется использовать метод $mysqli->set_charset() вместо $mysqli->query('SET NAMES utf8'). Об этом также написано в официальной документации.

Строка «mb4» в названии кодировки говорит о том, что Юникод поддерживает 4-байтовые символы (т.е. поддерживается больше юникод-символов).

Узнать текущую кодировку можно через метод $mysqli->character_set_name().

$mysqli->character_set_name(); // utf8mb4