mysqli::real_connect

mysqli_real_connect

(PHP 5, PHP 7, PHP 8)

mysqli::real_connect -- mysqli_real_connect — Встановлює з'єднання з сервером mysql

Опис

Об'єктно-орієнтований стиль

public mysqli::real_connect(    ?string $hostname = null,    ?string $username = null,    ?string $password = null,    ?string $database = null,    ?int $port = null,    ?string $socket = null,    int $flags = 0): bool

Процедурний стиль

mysqli_real_connect(    mysqli $mysql,    ?string $hostname = null,    ?string $username = null,    ?string $password = null,    ?string $database = null,    ?int $port = null,    ?string $socket = null,    int $flags = 0): bool

Встановлює з'єднання із СУБД MySQL.

Ця функція відрізняється від mysqli_connect() :

  • Для роботи**mysqli_real_connect()**необхідний дійсний об'єкт, створений функцієюmysqli_init()

  • За допомогою функціїmysqli_options()можна встановити різні настройки підключення.

  • Параметрflags

Список параметрів

mysql

Тільки для процедурного стилю: об'єкт mysqli, який повернула функція mysqli_connect()или функцияmysqli_init()

hostname

Може бути або ім'ям хоста, або IP-адресою. При передачі null, значение извлекается изmysqli.default_host. По можливості замість протоколу TCP/IP використовуватимуться канали. Протокол TCP/IP використовується, якщо вказано ім'я хоста і номер порту, наприклад, localhost:3308

username

Ім'я користувача MySQL або **null**для принятия имени пользователя на основе ini-опцииmysqli.default_user

password

Пароль MySQL или**null**для принятия пароля на основе ini-опцииmysqli.default_pw

database

База даних за замовчуванням, яка буде використовуватися під час виконання запитів або null

port

Номер порту для спроби підключення до сервера MySQL або **null**для принятия порта на основе ini-опцииmysqli.default_port

socket

Вказує номер порту для підключення до сервера MySQL.

Зауваження :

Передача параметраsocket явно не буде задавати тип з'єднання при підключенні до сервера MySQL. Те, як встановлюватиметься з'єднання з MySQL-сервером, визначається параметром hostname

flags

С помощью параметраflags можна встановити деякі налаштування з'єднання:

Прапори, що підтримуються

ИмяОпис
MYSQLI_CLIENT_COMPRESSВикористовувати протокол стиснення
MYSQLI_CLIENT_FOUND_ROWSПовертати кількість рядків, що підійшли умовам вибірки, замість кількості порушених запитом рядків
MYSQLI_CLIENT_IGNORE_SPACEДопускати пробіли після назв функцій. Робить усі імена функцій зарезервованими словами.
MYSQLI_CLIENT_INTERACTIVEДопускати interactive_timeoutсекунд (вместоwait_timeout) простою, перш ніж закрити з'єднання
MYSQLI_CLIENT_SSLВикористовувати SSL (шифрування)
MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERTАналогічно MYSQLI_CLIENT_SSL, але забороняє перевірку сертифіката SSL. Працює тільки з MySQL Native Driver та MySQL 5.6 та вище.

Зауваження :

З причин безпеки, прапор MULTI_STATEMENT не підтримується у PHP. Якщо потрібно виконувати мультизапити, використовуйте функцію mysqli_multi_query()

Значення, що повертаються

Повертає true у разі успішного виконання або **false**в случае возникновения ошибки.

Помилки

Якщо сповіщення про помилки mysqli включено (MYSQLI_REPORT_ERROR) та запитана операція не вдалася, видається попередження. Якщо, крім того, встановлено режим MYSQLI_REPORT_STRICT, натомість буде викинуто виняток mysqli_sql_exception

список змін

ВерсияОпис
7.4.0Усі параметри тепер припускають значення null

Приклади

Приклад #1 Приклад використання mysqli::real_connect()****

Об'єктно-орієнтований стиль

Loading...

Об'єктно-орієнтований стиль при розширенні класу mysqli

Loading...

Процедурний стиль

Loading...

Результат виконання наведених прикладів:

Выполнено... MySQL host info: localhost via TCP/IP

Примітки

Зауваження :

MySQLnd завжди має на увазі кодування, яке використовує за умовчанням сервер. Це кодування передається під час встановлення з'єднання/авторизації, які використовує mysqlnd.

За замовчуванням Libmysqlclient використовує кодування, встановлене у файлі my.cnf або явним викликом функції mysqli_options() до виклику функції mysqli_real_connect(), але після виклику функції mysqli_connect()

Дивіться також

  • mysqli_connect() - Псевдонім mysqli::__construct
  • mysqli_init() - Ініціалізує MySQLi та повертає об'єкт для використання у функції mysqli_real_connect()
  • mysqli_options() - Встановлення налаштувань
  • mysqli_ssl_set() - Використовується для встановлення безпечних з'єднань за допомогою SSL
  • mysqli_close() - Закриває раніше відкрите з'єднання з базою даних