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() - Закриває раніше відкрите з'єднання з базою даних