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

getSession

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

function.mysql-xdevapi-getsession.php PHP.net прокси Преводот е вчитан
Оригинал на PHP.net
Патека function.mysql-xdevapi-getsession.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + преведен приказ Кодовите, табелите и белешките остануваат читливи во истиот тек.
getSession

Референца за `function.mysql-xdevapi-getsession.php` со подобрена типографија и навигација.

function.mysql-xdevapi-getsession.php

getSession

(Нема достапни информации за верзијата, можеби е само во Git)

getSessionПоврзете се на MySQL сервер

= NULL

function mysql_xdevapi\getSession(string $uri): mysql_xdevapi\Session

Се поврзува на 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 има предност пред овие променливи на опкружувањето.

    • Опционалниот compression attribute прифаќа вредности: preferred (клиентот преговара со серверот за да најде поддржан алгоритам; врската е некомпресирана ако не се најде меѓусебно поддржан алгоритам), required (слично на "preferred", но врската се прекинува ако не се најде меѓусебно поддржан алгоритам), или disabled (врската е некомпресирана). Стандардно е preferred.

      Оваа опција беше додадена во верзија 8.0.20.

    • Опционалниот compression-algorithms attribute ги дефинира посакуваните алгоритми за компресија (и нивниот редослед на претпочитана употреба): 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"
}

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

Нема белешки од корисници за оваа страница.
Навигација

Прелистувај сродни теми и функции.

На оваа страница

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

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

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

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

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