getSession
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
getSession
Референца за `function.mysql-xdevapi-getsession.php` со подобрена типографија и навигација.
getSession
(Нема достапни информации за верзијата, можеби е само во Git)
getSession — Поврзете се на MySQL сервер
= NULL
Се поврзува на MySQL сервер.
Параметри
uri-
URI до MySQL серверот, како што е
mysqlx://user:password@host.Формат на URI:
scheme://[user[:[password]]@]target[:port][?attribute1=value1&attribute2=value2...-
scheme: задолжително, протоколот за поврзувањеВо mysql_xdevapi секогаш е 'mysqlx' (за X Protocol)
-
user: опционално, корисничката сметка на MySQL за автентикација -
password: опционално, лозинката на корисникот на MySQL за автентикација -
target: задолжително, инстанцата на серверот на која се однесува врската:* TCP врска (име на хост, IPv4 адреса или IPv6 адреса)
* Unix socket патека (локална патека на датотека)
* Windows named-pipe (локална патека на датотека)
-
port: опционално, мрежен порт на MySQL серверот.по стандард, портот за X Protocol е 33060
-
?attribute=value: овој елемент е опционален и специфицира речник на податоци што содржи различни опции, вклучувајќи:-
На
auth(механизам за автентикација) атрибут во однос на шифрирани врски. За дополнителни информации, видете » Опции за команди за шифрирани врски. Поддржани се следните вредности за 'auth':plain,mysql41,externalПрепорачаниот начин за избегнување на SQL инјекција е со врзување на сите податоци преку подготвени изрази. Користењето на параметризирани прашања не е доволно за целосно избегнување на SQL инјекција, но тоа е најлесниот и најбезбедниот начин за обезбедување влез во SQL изразите. Сите динамични литерали на податоци воsha256_mem. -
На
connect-timeoutатрибутот влијае на врската, а не на последователните операции. Се поставува по врска, без разлика дали е на еден или повеќе хостови.Внесете позитивен цел број за да го дефинирате времето на чекање за поврзување во секунди, или внесете 0 (нула) за да го онеспособите времето на чекање (бесконечно). Ако не е дефинирано connect-timeout, се користи стандардната вредност од 10.
Слично, променливите на опкружувањето MYSQLX_CONNECTION_TIMEOUT (временско ограничување во секунди) и MYSQLX_TEST_CONNECTION_TIMEOUT (се користи при извршување на тестови) може да се постават и да се користат наместо connect-timeout во URI. Опцијата за URI connect-timeout има предност пред овие променливи на опкружувањето.
-
Опционалниот
compressionattribute прифаќа вредности:preferred(клиентот преговара со серверот за да најде поддржан алгоритам; врската е некомпресирана ако не се најде меѓусебно поддржан алгоритам),required(слично на "preferred", но врската се прекинува ако не се најде меѓусебно поддржан алгоритам), илиdisabled(врската е некомпресирана). Стандардно еpreferred.Оваа опција беше додадена во верзија 8.0.20.
-
Опционалниот
compression-algorithmsattribute ги дефинира посакуваните алгоритми за компресија (и нивниот редослед на претпочитана употреба):zstd_stream(алијас: zstd),lz4_message(алијас: lz4), илиdeflate_stream(алијаси: deflate или zlib). Стандардно, редоследот што се користи (во зависност од достапноста на системот) е lz4_message, zstd_stream, потоа deflate_stream. На пример, поминувањето на compression-algorithms=[lz4,zstd_stream] користи lz4 ако е достапен, инаку се користи zstd_stream. Ако и двата се недостапни, тогаш однесувањето зависи од вредноста на компресијата, на пр. ако compression=required, тогаш ќе заврши со грешка.Оваа опција беше додадена во верзија 8.0.22.
-
Пример #1 URI примери
mysqlx://foobar
mysqlx://root@localhost?socket=%2Ftmp%2Fmysqld.sock%2F
mysqlx://foo:bar@localhost:33060
mysqlx://foo:bar@localhost:33160?ssl-mode=disabled
mysqlx://foo:bar@localhost:33260?ssl-mode=required
mysqlx://foo:bar@localhost:33360?ssl-mode=required&auth=mysql41
mysqlx://foo:bar@(/path/to/socket)
mysqlx://foo:bar@(/path/to/socket)?auth=sha256_mem
mysqlx://foo:bar@[localhost:33060, 127.0.0.1:33061]
mysqlx://foobar?ssl-ca=(/path/to/ca.pem)&ssl-crl=(/path/to/crl.pem)
mysqlx://foo:bar@[localhost:33060, 127.0.0.1:33061]?ssl-mode=disabled
mysqlx://foo:bar@localhost:33160/?connect-timeout=0
mysqlx://foo:bar@localhost:33160/?connect-timeout=10&compression=required
mysqlx://foo:bar@localhost:33160/?connect-timeout=10&compression=required&compression-algorithms=[lz4,zstd_stream]За сродни информации, видете го MySQL Shell-овиот » Поврзување со користење на URI стринг.
-
Вратени вредности
А Сесија object.
Errors/Exceptions
Грешка при поврзување фрла Исклучок.
Примери
Пример #2 Централна влезна точка во X DevAPI е функцијата example
<?php
try {
$session = mysql_xdevapi\getSession("mysqlx://user:password@host");
} catch(Exception $e) {
die("Connection could not be established: " . $e->getMessage());
}
$schemas = $session->getSchemas();
print_r($schemas);
$mysql_version = $session->getServerVersion();
print_r($mysql_version);
var_dump($collection->find("name = 'Alfred'")->execute()->fetchOne());
?>Горниот пример ќе прикаже нешто слично на:
Array
(
[0] => mysql_xdevapi\Schema Object
(
[name] => helloworld
)
[1] => mysql_xdevapi\Schema Object
(
[name] => information_schema
)
[2] => mysql_xdevapi\Schema Object
(
[name] => mysql
)
[3] => mysql_xdevapi\Schema Object
(
[name] => performance_schema
)
[4] => mysql_xdevapi\Schema Object
(
[name] => sys
)
)
80012
array(4) {
["_id"]=>
string(28) "00005ad66abf0001000400000003"
["age"]=>
int(42)
["job"]=>
string(7) "Butler"
["name"]=>
string(4) "Alfred"
}