mysqli::__construct

mysqli::connect

mysqli_connect

(PHP 5, PHP 7, PHP 8)

mysqli::__construct -- mysqli::connect -- mysqli_connect — Встановлює нове з'єднання з сервером MySQL

Опис

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

public mysqli::__construct
?string$hostname null,
?string$username null,
?string$password null,
?string$database null,
?int$port null,
?string$socket null
) .

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

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

mysqli_connect(    ?string $hostname = null,    ?string $username = null,    ?string $password = null,    ?string $database = null,    ?int $port = null,    ?string $socket = null): mysqli|false

Встановлює з'єднання з працюючим сервером MySQL.

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

hostname

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

Якщо перед ім'ям хоста встановити рядок p:, то буде відкрито постійне з'єднання. Якщо з'єднання відкрито з пулу підключень, буде автоматично викликано функцію mysqli_change_user()

username

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

password

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

database

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

port

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

socket

Сокет або іменований пайп, який необхідно використовувати або **null**для принятия сокета на основе ini-опцииmysqli.default_socket

Зауваження :

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

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

mysqli_connect() повертає об'єкт, який представляє з'єднання з сервером MySQL або **false**в случае возникновения ошибки.

mysqli::connect() повертає true у разі успішного виконання або false у разі виникнення помилки. До PHP 8.1.0 у разі успішного виконання поверталося значення null

Помилки

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

список змін

ВерсияОпис
8.1.0Методmysqli::connect() тепер повертає значення true замість null у разі успішного виконання.
7.4.0Усі параметри тепер припускають значення null

Приклади

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

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

Loading...

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

Loading...

Висновок наведених прикладів буде схожим на:

Успешно... localhost via TCP/IP

Приклад #2 Розширення класу mysqli

Loading...

Приклад #3 Ручна обробка помилок

Якщо звіти про помилки вимкнуто, розробник несе відповідальність за перевірку та обробку помилок

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

Loading...

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

Loading...

Примітки

Зауваження :

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

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

Зауваження :

Якщо використовується Об'єктно-орієнтований стиль: Якщо з'єднання встановити не вдалося, метод все одно поверне об'єкт. Перевірити успішність створення підключення можна або функцією mysqli_connect_error()или с помощью свойстваmysqli->connect_error, Як показано в прикладах.

Зауваження :

Якщо необхідно задати додаткові параметри підключення, на кшталт часу очікування і т.п., замість цього методу необхідно використовувати функцію mysqli_real_connect()

Зауваження :

Виклик конструктора без параметрів ідентичний виклику функції mysqli_init()

Зауваження :

Помилка "Can't create TCP/IP socket (10106)" зазвичай означає, що директива конфігурації variables_order не містить символ E. У Windows системах, якщо оточення не скопійовано, змінне середовище SYSTEMROOT буде недоступна, і у PHP виникнуть проблеми із завантаженням Winsock.

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

  • mysqli_real_connect() - Встановлює з'єднання із сервером mysql
  • mysqli_options() - Встановлення налаштувань
  • mysqli_connect_errno() - Повертає код помилки останньої спроби з'єднання
  • mysqli_connect_error() - Повертає опис останньої помилки підключення
  • mysqli_close() - Закриває раніше відкрите з'єднання з базою даних