PHP.mk документација

mysqli::real_connect

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

mysqli.real-connect.php PHP.net прокси Преводот е вчитан
Оригинал на PHP.net
Патека mysqli.real-connect.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + преведен приказ Кодовите, табелите и белешките остануваат читливи во истиот тек.
mysqli::real_connect

Референца за `mysqli.real-connect.php` со подобрена типографија и навигација.

mysqli.real-connect.php

mysqli::real_connect

mysqli_real_connect

класата mysqli_driver

mysqli::real_connect -- mysqli_real_connectОтвара конекција кон MySQL серверот

= NULL

Напиши целосна ознака на елемент

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().

  • Има flags parameter.

Параметри

mysql

објектот како свој прв аргумент. mysqli Само процедурален стил: А mysqli_connect() or mysqli_init()

hostname

Може да биде име на хост или IP адреса. При поминување null, вредноста се зема од mysqli.default_host. Кога е можно, ќе се користат цевки наместо TCP/IP протокол. TCP/IP протоколот се користи ако се дадени име на хост и број на порта заедно, на пр. localhost:3308.

username

MySQL корисничкото име или null за претпоставување на корисничкото име врз основа на mysqli.default_user ini опцијата.

password

MySQL лозинката или null за претпоставување на лозинката врз основа на mysqli.default_pw ini опцијата.

database

Стандардната база на податоци што ќе се користи при извршување на прашања или null.

port

Бројот на портата за обид за поврзување со MySQL серверот или null за претпоставување на портата врз основа на mysqli.default_port ini опцијата.

socket

Приклучокот или именуваната цевка што треба да се користи или null за претпоставување на приклучокот врз основа на mysqli.default_socket ini опцијата.

Забелешка:

Наведувањето на socket параметарот нема експлицитно да го одреди типот на врска што ќе се користи при поврзување со MySQL серверот. Како се прави врската со MySQL базата на податоци се одредува според hostname parameter.

flags

Со параметарот flags можете да поставите различни опции за конекција:

Поддржани знаменца
Име = NULL
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 gried на NOSPAM точка nsys точка by MYSQLI_CLIENT_SSL, но ја оневозможува валидацијата на обезбедениот SSL сертификат. Ова е само за инсталации што користат MySQL Native Driver и MySQL 5.6 или понова верзија.

Забелешка:

Од безбедносни причини MULTI_STATEMENT знаменцето не е поддржано во PHP. Ако сакате да извршите повеќе прашања, користете го mysqli_multi_query() function.

Вратени вредности

Патеката до PHP скриптата што треба да се провери. true на успех или false при неуспех.

Errors/Exceptions

Ако е овозможено известување за грешки на mysqli (MYSQLI_REPORT_ERROR) и бараната операција не успее, се генерира предупредување. Ако, дополнително, режимот е поставен на MYSQLI_REPORT_STRICT, а mysqli_sql_exception наместо тоа се фрла.

Дневник на промени

Верзија = NULL
7.4.0 defaultLocale сега е nullable.

Примери

Пример #1 mysqli::options() example

Напиши целосна ознака на елемент

<?php

mysqli_report
(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = mysqli_init();

$mysqli->options(MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0');
$mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 5);

$mysqli->real_connect('localhost', 'my_user', 'my_password', 'my_db', null, null, MYSQLI_CLIENT_COMPRESS|MYSQLI_CLIENT_FOUND_ROWS);

echo
'Success... ' . $mysqli->host_info . "\n";

Обектно-ориентиран стил при проширување на mysqli класата

<?php

class foo_mysqli extends mysqli {
public function
__construct($host, $user, $pass, $db)
{
parent::__construct();

parent::options(MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0');
parent::options(MYSQLI_OPT_CONNECT_TIMEOUT, 5);

parent::real_connect($host, $user, $pass, $db, null, null, MYSQLI_CLIENT_COMPRESS|MYSQLI_CLIENT_FOUND_ROWS);
}
}

$db = new foo_mysqli('localhost', 'my_user', 'my_password', 'my_db');

echo
'Success... ' . $db->host_info . "\n";

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

<?php

mysqli_report
(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_init();

mysqli_options($link, MYSQLI_INIT_COMMAND, 'SET AUTOCOMMIT = 0');
mysqli_options($link, MYSQLI_OPT_CONNECT_TIMEOUT, 5);

mysqli_real_connect($link, 'localhost', 'my_user', 'my_password', 'my_db', null, null, MYSQLI_CLIENT_COMPRESS|MYSQLI_CLIENT_FOUND_ROWS);

echo
'Success... ' . mysqli_get_host_info($link) . "\n";

Горните примери ќе дадат излез:

Success... MySQL host info: localhost via TCP/IP

Белешки

Забелешка:

MySQLnd секогаш претпоставува стандарден сет на знаци на серверот. Овој сет на знаци се испраќа за време на ракувањето/автентикацијата на врската, што mysqlnd ќе го користи.

Libmysqlclient го користи стандардниот сет на знаци поставен во my.cnf или со експлицитен повик до mysqli_options() пред да се повика mysqli_real_connect(), но по mysqli_init().

Види Исто така

  • mysqli_connect() - Псевдоним на mysqli::__construct
  • mysqli_init() - Отворете нова врска со MySQL серверот
  • mysqli_options() - Постави опции
  • mysqli_ssl_set() - Се користи за воспоставување сигурни конекции со помош на SSL
  • mysqli_close() - Враќа опис на последната грешка при поврзување

Белешки од корисници 1 белешка

aschmidt на anamera точка net
пред 9 месеци
Despite native driver (mysqlnd 8.3.20) and MySQL >5.6, the flag

 MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT 

will cause connection to be rejected as "not secure", if server is set to require SSL connection (--require-secure-transport=ON). 

It appears that MYSQLI_CLIENT_SSL_DONT_VERIFY_SERVER_CERT is seemingly accepted, but will not actually initiate a secure connection.

Similarly, if one tries to turn off certificate validation by setting options:

 $mysqli->options(MYSQLI_OPT_SSL_VERIFY_SERVER_CERT, 0)

then this will return "false", indicating that the option setting was not successful.
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.