RussianLDP Рейтинг@Mail.ru
WebMoney: 
WMZ Z294115950220 
WMR R409981405661 
WME E134003968233 
Visa 
4274 3200 2453 6495 

Глава 5. Mysql_xdevapi

Это расширение обеспечивает доступ к MySQL Document Store через X DevAPI. X DevAPI это общий API, обеспеченный многими MySQL Connector, обеспечивающими легкий доступ к таблицам, а также коллекциям документов, которые представляются в JSON от API с операциями стиля CRUD.

X DevAPI использует X-протокол, новое поколение протокола client-server в MySQL 8.0 server.

Для получения общей информации о MySQL Document Store см. MySQL Document Store в MySQL manual.

5.1. Установка и настройка

5.1.1. Требования

Это расширение требует сервер MySQL 8+ с включенным X plugin.

Необходимые как условие библиотеки для компилирования этого расширения: Boost (1.53.0 или выше), OpenSSL и Protobuf.

5.1.2. Установка

Расширение PECL не связано с PHP.

Процесс установки в качестве примера на Ubuntu 18.04 с PHP 7.2:

// Dependencies
$ apt install build-essential libprotobuf-dev libboost-dev openssl protobuf-compiler
// PHP with the desired extensions; php7.2-dev is required to compile
$ apt install php7.2-cli php7.2-dev php7.2-mysql php7.2-pdo php7.2-xml
// Compile the extension
$ pecl install mysql_xdevapi

pecl install не включает расширения PHP (по умолчанию), и включение расширения PHP может быть сделан несколькими способами. Другой пример PHP 7.2 в Ubuntu 18.04:

// Create its own ini file
$ echo "extension=mysql_xdevapi.so" > /etc/php/7.2/mods-available/mysql_xdevapi.ini
// Use the 'phpenmod' command (note: it's Debian/Ubuntu specific)
$ phpenmod -v 7.2 -s ALL mysql_xdevapi
// A 'phpenmod' alternative is to manually symlink it
// $ ln -s /etc/php/7.2/mods-available/mysql_xdevapi.ini /etc/php/7.2/cli/conf.d/20-mysql_xdevapi.ini
// Let's see which MySQL extensions are enabled now
$ php -m |grep mysql
mysql_xdevapi
mysqli
mysqlnd
pdo_mysql

Информация для установки этого расширения PECL может быть найдена здесь. Дополнительная информация, такая как новые выпуски, загрузки, исходные файлы, информация о поддержке и CHANGELOG, может быть расположена здесь: https://pecl.php.net/package/mysql_xdevapi.

5.1.3. Конфигурация во время выполнения

Поведение этих функций затронуто параметрами настройки в php.ini.

Таблица 5.1. Опции настройки Mysql_xdevapi

ИмяУмолчание Изменяемая?Журнал изменений
xmysqlnd.collect_memory_statistics0PHP_INI_SYSTEM
xmysqlnd.collect_statistics1PHP_INI_ALL
xmysqlnd.debug PHP_INI_SYSTEM
xmysqlnd.mempool_default_size16000PHP_INI_ALL
xmysqlnd.net_read_timeout31536000PHP_INI_SYSTEM
xmysqlnd.trace_alloc PHP_INI_SYSTEM

Вот короткое объяснение конфигурационных директив.

xmysqlnd.collect_memory_statistics integer
xmysqlnd.collect_statistics integer
xmysqlnd.debug string
xmysqlnd.mempool_default_size integer
xmysqlnd.net_read_timeout integer
xmysqlnd.trace_alloc string

5.1.4. Сборка из исходных текстов

Соображения для компилирования этого расширения из исходных текстов.

  • Имя расширения 'mysql_xdevapi', используйте --enable-mysql-xdevapi.

  • Boost: необходимо, используйте опцию --with-boost=DIR или установите переменную окружения MYSQL_XDEVAPI_BOOST_ROOT. Только заголовочные файлы boost нужны, двоичные модули не требуются.

  • Google Protocol Buffers (protobuf): необходимо, используйте опцию --with-protobuf=DIR или установите переменную окружения.

    Произвольно используйте make protobufs, чтобы произвести файлы (*.pb.cc/.h) и make clean-protobufs, чтобы удалить файлы protobuf.

    Замечание о Windows и protobuf: в зависимости от вашей среды, может быть необходима статическая многопоточная библиотека DLL времени выполнения. Чтобы подготовиться, используйте следующие опции: -Dprotobuf_MSVC_STATIC_RUNTIME=OFF -Dprotobuf_BUILD_SHARED_LIBS=OFF.

  • Google Protocol Buffers/protocol compiler (protoc): требуется, гарантируйте, что надлежащий 'protoc' доступен в PATH при сборке. Это особенно важно, поскольку скрипты пакетной обработки Windows PHP SDK могут переписать окружающую среду.

  • Bison: нужен и доступен в PATH.

    Замечание о Windows и bison: рекомендуется использовать bison, поставляемый с PHP SDK, иначе возможна ошибка "zend_globals_macros.h(39): error C2375: 'zendparse': redefinition; different linkage Zend/zend_language_parser.h(214): note: see declaration of 'zendparse'". Также скрипты Windows PHP SDK могут переписать окружающую среду.

  • Замечания о Windows: чтобы подготовить окружающую среду, посмотрите документацию по сборке в Windows для the original SDK (PHP-7.1 only) или the current SDK (PHP-7.1 и выше).

    Мы рекомендуем использовать наклонную черту влево '\\' вместо '/' для всех путей.

5.2. Предопределенные константы

Константы ниже определяются этим расширением и будут доступны только, когда расширение было собрано в PHP или динамически загружено во время выполнения.

MYSQLX_CLIENT_SSL (integer)
MYSQLX_TYPE_DECIMAL (integer)
MYSQLX_TYPE_TINY (integer)
MYSQLX_TYPE_SHORT(integer)
MYSQLX_TYPE_SMALLINT (integer)
MYSQLX_TYPE_MEDIUMINT (integer)
MYSQLX_TYPE_INT (integer)
MYSQLX_TYPE_BIGINT (integer)
MYSQLX_TYPE_LONG (integer)
MYSQLX_TYPE_FLOAT (integer)
MYSQLX_TYPE_DOUBLE (integer)
MYSQLX_TYPE_NULL (integer)
MYSQLX_TYPE_TIMESTAMP (integer)
MYSQLX_TYPE_LONGLONG (integer)
MYSQLX_TYPE_INT24 (integer)
MYSQLX_TYPE_DATE (integer)
MYSQLX_TYPE_TIME (integer)
MYSQLX_TYPE_DATETIME (integer)
MYSQLX_TYPE_YEAR (integer)
MYSQLX_TYPE_NEWDATE(integer)
MYSQLX_TYPE_ENUM (integer)
MYSQLX_TYPE_SET (integer)
MYSQLX_TYPE_TINY_BLOB(integer)
MYSQLX_TYPE_MEDIUM_BLOB (integer)
MYSQLX_TYPE_LONG_BLOB (integer)
MYSQLX_TYPE_BLOB (integer)
MYSQLX_TYPE_VAR_STRING(integer)
MYSQLX_TYPE_STRING(integer)
MYSQLX_TYPE_CHAR (integer)
MYSQLX_TYPE_BYTES(integer)
MYSQLX_TYPE_INTERVAL (integer)
MYSQLX_TYPE_GEOMETRY(integer)
MYSQLX_TYPE_JSON (integer)
MYSQLX_TYPE_NEWDECIMAL(integer)
MYSQLX_TYPE_BIT (integer)
MYSQLX_LOCK_DEFAULT (integer)
MYSQLX_LOCK_NOWAIT (integer)
MYSQLX_LOCK_SKIP_LOCKED (integer)

5.3. Примеры

Центральная точка входа в X DevAPI это функция mysql_xdevapi\getSession, которая получает URI к серверу MySQL 8.0 и возвращает объект mysql_xdevap\Session.

Пример 5.1. Соединение с MySQL Server

<?php
  try {
    $session = mysql_xdevapi\getSession("mysqlx://user:password@host");
  } catch(Exception $e) {
    die("Connection could not be established: " . $e->getMessage());
  }
  // ... use $session
?>

Сессия обеспечивает полный доступ к API. Для новой установки MySQL Server первый шаг должен создать схему базы данных с коллекцией, чтобы хранить данные:

Пример 5.2. Создание схемы и коллекции на MySQL Server

<?php
  $schema = $session->createSchema("test");
  $collection = $schema->createCollection("example");
?>

Храня данные, как правило, используется json_encode, чтобы закодировать данные в JSON, который может тогда быть сохранен в коллекции.

Следующий пример хранит данные в коллекции, которую мы создали ранее, а затем получает их часть.

Пример 5.3. Сохранение и получение данных

<?php
  $marco = [
    "name" => "Marco",
    "age"=> 19,
    "job"=> "Programmer"
  ];
  $mike = [
    "name" => "Mike",
    "age"=> 39,
    "job"=> "Manager"
  ];
  $schema = $session->getSchema("test");
  $collection = $schema->getCollection("example");
  $collection->add($marco, $mike)->execute();
  var_dump($collection->find("name = 'Mike'")->execute()->fetchOne());
?>

Вышеупомянутый пример произведет что-то подобное:

array(4) {
  ["_id"]=>
  string(28) "00005ad66aaf0000000000000003"
  ["age"]=>
  int(39)
  ["job"]=>
  string(7) "Manager"
  ["name"]=>
  string(4) "Mike"
}

Пример демонстрирует, что MySQL Server добавляет дополнительную область, названную _id, которая служит первичным ключом к документу.

Пример также демонстрирует, что восстановленные данные сортированы в алфавитном порядке. Этот определенный порядок происходит из эффективного двоичного хранения в сервере MySQL, но на это нельзя положиться. Обратитесь к документации типа данных MySQL JSON для деталей.

Произвольно используйте итераторы PHP для получения многих документов:

Пример 5.4. Получение многих документов

<?php
  $result = $collection->find()->execute();
  foreach ($result as $doc)
  {
    echo "${doc["name"]} is a ${doc["job"]}.\n";
  }
?>

Вышеупомянутый пример произведет что-то подобное:

Marco is a Programmer.
Mike is a Manager.

5.4. Функции Mysql_xdevapi

5.4.1. expression

  • expression

    Свяжите переменные подготовленного запроса с параметрами.

Описание

object mysql_xdevapi\expression(string expression);

Эта функция пока не документирована, есть только список параметров.

Параметры

expression

Примеры

Пример 5.5. mysql_xdevapi\Expression

<?php
  $expression = mysql_xdevapi\Expression("[age,job]");
  $res= $coll->find("age > 30")->fields($expression)->limit(3)->execute();
  $data = $res->fetchAll();
  print_r($data);
?>

5.4.2. getSession

  • getSession

    Соединитесь с сервером MySQL.

Описание

mysql_xdevapi\Session mysql_xdevapi\getSession(string uri);

Соединитесь с сервером 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 (местный путь к файлу).

    * Именованный канал Windows (местный путь к файлу).

  • port: дополнительный, сетевой порт сервера MySQL.

    По умолчанию порт для X Protocol = 33060.

  • ?attribute=value: этот элемент дополнительный и определяет словарь данных, который содержит различные варианты, включая:

    • auth (механизм аутентификации), поскольку это касается зашифрованных связей. Для получения дополнительной информации посмотрите Command Options for Encrypted Connections. Допустимые значения 'auth': plain, mysql41, external и sha256_mem.

    • connect-timeout затрагивает связь, но не последующие операции. Это установлено для каждого подключения.

      Передайте положительное целое число, чтобы определить тайм-аут связи в секундах или 0, чтобы чтобы отключить тайм-аут. Не определение значения использует значение по умолчанию 10.

      Связанные переменные окружения MYSQLX_CONNECTION_TIMEOUT (тайм-аут в секундах) и MYSQLX_TEST_CONNECTION_TIMEOUT (используется, запуская тесты) могут устанавливаться и использоваться вместо connect-timeout в URI. Опция connect-timeout в URI имеет приоритет перед этими переменными окружения.

Пример 5.6. Примеры 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

См. MySQL Shell's Connecting using a URI String.

Возвращаемые значения

Объект Session.

Исключения

Неудача связи бросает Exception.

Примеры

Пример 5.7. mysql_xdevapi\getSession

<?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"
}

5.5. Интерфейс BaseResult

mysql_xdevapi\BaseResult {
  mysql_xdevapi\BaseResult
  Methodsabstract public array mysql_xdevapi\BaseResult::getWarnings();
  abstract public integer mysql_xdevapi\BaseResult::getWarningsCount();
}

5.5.1. BaseResult::getWarnings

  • BaseResult::getWarnings

    Получает предупреждения от последней операции.

Описание

abstract public array mysql_xdevapi\BaseResult::getWarnings();

Получает предупреждения, произведенные последней операцией MySQL server.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Множество объектов Warning от последней операции. Каждый объект определяет для ошибки 'message', 'level' и 'code'. Пустой массив возвращен, если никакие ошибки не произошли.

Примеры

Пример 5.8. mysql_xdevapi\RowResult::getWarnings

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("CREATE DATABASE foo")->execute();
  $session->sql("CREATE TABLE foo.test_table(x int)")->execute();
  $schema = $session->getSchema("foo");
  $table= $schema->getTable("test_table");
  $table->insert(['x'])->values([1])->values([2])->execute();
  $res = $table->select(['x/0 as bad_x'])->execute();
  $warnings = $res->getWarnings();
  print_r($warnings);
?>

Вышеупомянутый пример произведет что-то подобное:

Array
(
  [0] => mysql_xdevapi\Warning Object
  (
    [message] => Division by 0
    [level] => 2
    [code] => 1365
  )
  [1] => mysql_xdevapi\Warning Object
  (
    [message] => Division by 0
    [level] => 2
    [code] => 1365
  )
)

5.5.2. BaseResult::getWarningsCount

  • BaseResult::getWarningsCount

    Счетчик предупреждений от последней операции.

Описание

abstract public integer mysql_xdevapi\BaseResult::getWarningsCount();

Возвращает количество предупреждений, поднятых последней операцией. Эти предупреждения подняты сервером MySQL.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Счетчик предупреждений от последней операции.

Примеры

Пример 5.9. mysql_xdevapi\RowResult::getWarningsCount

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS foo")->execute();
  $session->sql("CREATE DATABASE foo")->execute();
  $session->sql("CREATE TABLE foo.test_table(x int)")->execute();
  $schema = $session->getSchema("foo");
  $table= $schema->getTable("test_table");
  $table->insert(['x'])->values([1])->values([2])->execute();
  $res = $table->select(['x/0 as bad_x'])->execute();
  echo $res->getWarningsCount();
?>

Вышеупомянутый пример произведет что-то подобное:

2

5.6. Класс Client

Обеспечивает доступ к пулу связи.

mysql_xdevapi\Client {
  mysql_xdevapi\Client
  Methods public bool mysql_xdevapi\Client::close();
  public mysql_xdevapi\Session mysql_xdevapi\Client::getSession();
}

5.6.1. mysql_xdevapi\Client::close

  • mysql_xdevapi\Client::close

    Закрыть клиент.

Описание

public bool mysql_xdevapi\Client::close();

Закройте все связи клиента с сервером.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

TRUE, если связи закрываются.

5.6.2. Client::__construct

  • Client::__construct

    Конструктор Client.

Описание

private mysql_xdevapi\Client::__construct();

Конструктор объекта client.

Параметры

Эта функция не имеет параметров.

Примеры

Пример 5.10. mysql_xdevapi\Client::__construct

<?php
  $pooling_options = '{
    "enabled": true,
    "maxSize": 10,
    "maxIdleTime": 3600,
    "queueTimeOut": 1000
  }';
  $client = mysql_xdevapi\getClient($connection_uri, $pooling_options);
  $session = $client->getSession();

5.6.3. Client::getClient

  • Client::getClient

    Получите сессию клиента.

Описание

public mysql_xdevapi\Session mysql_xdevapi\Client::getSession();

Свяжите сессию с клиентом.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Объект Session.

5.7. Класс Collection

mysql_xdevapi\Collection {
  mysql_xdevapi\Collection, mysql_xdevapi\SchemaObject
  Properties public name ;
  Methods public mysql_xdevapi\CollectionAdd mysql_xdevapi\Collection::add(mixed document);
  public mysql_xdevapi\Result mysql_xdevapi\Collection::addOrReplaceOne(string id, string doc);
  public integer mysql_xdevapi\Collection::count();
  public void mysql_xdevapi\Collection::createIndex(string index_name, string index_desc_json);
  public bool mysql_xdevapi\Collection::dropIndex(string index_name);
  public bool mysql_xdevapi\Collection::existsInDatabase();
  public mysql_xdevapi\CollectionFind mysql_xdevapi\Collection::find(string search_condition);
  public string mysql_xdevapi\Collection::getName();
  public Document mysql_xdevapi\Collection::getOne(string id);
  public Schema Object mysql_xdevapi\Collection::getSchema();
  public Session mysql_xdevapi\Collection::getSession();
  public mysql_xdevapi\CollectionModify mysql_xdevapi\Collection::modify(string search_condition);
  public mysql_xdevapi\CollectionRemove mysql_xdevapi\Collection::remove(string search_condition);
  public mysql_xdevapi\Result mysql_xdevapi\Collection::removeOne(string id);
  public mysql_xdevapi\Result mysql_xdevapi\Collection::replaceOne(string id, string doc);
}

name

5.7.1. Collection::add

  • Collection::add

    Добавьте документ в коллекцию.

Описание

public mysql_xdevapi\CollectionAdd mysql_xdevapi\Collection::add(mixed document);

Вызывает вставку данного документа (документов) в коллекцию, поддерживаются многократные варианты этого метода. Варианты включают:

  1. Добавьте единственный документ как последовательность JSON.

  2. Добавьте единственный документ как множество: ['field' => 'value', 'field2' => 'value2' ... ].

  3. Соединение обоих вариантов, многочисленные документы могут быть добавлены в той же самой операции.

Параметры

document

Один или многочисленные документы, это может быть JSON или множеством полей с их присваиваемыми значениями. Это не может быть пустым массивом.

MySQL server автоматически производит уникальный _id для каждого документа, хотя это может быть также добавлено вручную. Это значение должно быть уникальным, иначе операция потерпит неудачу.

Возвращаемые значения

Объект CollectionAdd. Примените execute(), чтобы возвратить Result, который может использоваться, чтобы запросить количество затронутых элементов, число предупреждений, произведенных операцией, или получить список произведенных ID для вставленных документов.

Примеры

Пример 5.11. mysql_xdevapi\Collection::add

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $create = $schema->createCollection("people");
  $collection = $schema->getCollection("people");
  // Add two documents
  $collection->add('{"name": "Fred","age": 21, "job": "Construction"}')->execute();
  $collection->add('{"name": "Wilma", "age": 23, "job": "Teacher"}')->execute();
  // Add two documents using a single JSON object
  $result = $collection->add('{"name": "Bernie",
    "jobs": [{"title":"Cat Herder","Salary":42000},
    {"title":"Father","Salary":0}],
    "hobbies": ["Sports","Making cupcakes"]}', '{"name": "Jane",
    "jobs": [{"title":"Scientist","Salary":18000},
    {"title":"Mother","Salary":0}],
    "hobbies": ["Walking","Making pies"]}')->execute();
  // Fetch a list of generated ID's from the last add()
  $ids = $result->getGeneratedIds();
  print_r($ids);
?>

Вышеупомянутый пример произведет что-то подобное:

Array
(
  [0] => 00005b6b53610000000000000056
  [1] => 00005b6b53610000000000000057
)

Примечания

Уникальный _id произведен MySQL Server 8.0 как продемонстрировано в примере. Поле _id должно быть вручную определено, используя MySQL Server 5.7.

5.7.2. Collection::addOrReplaceOne

  • Collection::addOrReplaceOne

    Добавьте или замените документ в коллекции.

Описание

public mysql_xdevapi\Result mysql_xdevapi\Collection::addOrReplaceOne(string id, string doc);

Добавьте новый документ или замените документ, если он уже существует.

Вот несколько сценариев для этого метода:

  • Если нет id или конфликта значений уникального ключа с любым документом в коллекции, то документ добавляется.

  • Если id не соответствует никакому документу, но есть конфликт значений уникального ключа с документом в коллекции, то ошибка поднята.

  • Если id соответствует существующему документу, и никакие уникальные ключи не определяются для коллекции, то документ заменяется.

  • Если id соответствует существующему документу, все уникальные ключи в документе замены соответствуют тому же самому документу, или они не находятся в противоречии ни с какими другими документами в коллекции, то документ заменяется.

  • Если id соответствует существующему документу и один или более уникальных ключей соответствуют иному документу из коллекции, то ошибка поднята.

Параметры

id

Это id фильтра. Если этот id или другое поле, у которого есть уникальный индекс, будут существовать в коллекции, то это обновит соответствующий документ.

По умолчанию этот id автоматически произведен MySQL Server, когда запись была добавлена и ссылается как '_id'.

doc

Это документ, чтобы добавить или заменить, который является последовательностью JSON.

Возвращаемые значения

Объект Result.

Примеры

Пример 5.12. mysql_xdevapi\Collection::addOrReplaceOne

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $create = $schema->createCollection("people");
  $collection = $schema->getCollection("people");
  // Using add()
  $result = $collection->add('{"name": "Wilma", "age": 23, "job": "Teacher"}')->execute();
  // Using addOrReplaceOne()
  // Note: we're passing in a known _id value here
  $result = $collection->addOrReplaceOne('00005b6b53610000000000000056',
                                            '{"name": "Fred","age": 21,
                                            "job": "Construction"}');
?>

5.7.3. Collection::__construct

  • Collection::__construct

    Конструктор объекта Collection.

Описание

private mysql_xdevapi\Collection::__construct();

Конструктор объекта Collection.

Параметры

Эта функция не имеет параметров.

Примеры

Пример 5.13. mysql_xdevapi\Collection::getOne

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $collection = $schema->createCollection("people");
  $result = $collection->add('{"name": "Alfred", "age": 42, "job": "Butler"}')->execute();
  // A unique _id is (by default, and recommended) generated by MySQL Server
  // This retrieves the generated _id's; only one in this example, so $ids[0]
  $ids= $result->getGeneratedIds();
  $alfreds_id = $ids[0];
  // ...
  print_r($alfreds_id);
  print_r($collection->getOne($alfreds_id));
?>

Вышеупомянутый пример произведет что-то подобное:

00005b6b536100000000000000b1
Array
(
  [_id] => 00005b6b536100000000000000b1
  [age] => 42
  [job] => Butler
  [name] => Alfred
)

5.7.4. Collection::count

  • Collection::count

    Получите количество документов.

Описание

public integer mysql_xdevapi\Collection::count();

Эта функциональность подобна SQL-запросу SELECT COUNT(*) для текущей схемы и коллекции. Другими словами, это считает количество документов в коллекции.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Количество документов в коллекции.

Примеры

Пример 5.14. mysql_xdevapi\Collection::count example

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $create = $schema->createCollection("people");
  $collection = $schema->getCollection("people");
  $result = $collection->add(
    '{"name": "Bernie",
    "jobs": [
      {"title":"Cat Herder","Salary":42000},
      {"title":"Father","Salary":0}
    ],
    "hobbies": ["Sports","Making cupcakes"]}',
    '{"name": "Jane",
    "jobs": [
      {"title":"Scientist","Salary":18000},
      {"title":"Mother","Salary":0}
    ],
    "hobbies": ["Walking","Making pies"]}')->execute();
  var_dump($collection->count());
?>

Вышеупомянутый пример произведет:

int(2)

5.7.5. Collection::createIndex

  • Collection::createIndex

    Создайте индекс коллекции.

Описание

public void mysql_xdevapi\Collection::createIndex(string index_name, string index_desc_json);

Создает индекс коллекции.

Исключение брошено, если индекс с тем же самым именем уже существует, или если определение индекса правильно не сформировано.

Параметры

index_name

Название индекса, чтобы создать. Это имя должно быть действительным именем индекса, как принято в запросе SQL CREATE INDEX.

index_desc_json

Определение индекса, чтобы создать. Это содержит множество объектов IndexField, каждый объект описывает участника единого документа, чтобы включать в индекс и дополнительную последовательность для типа индекса, которая может быть INDEX (по умолчанию) или SPATIAL.

Единственное описание IndexField состоит из следующих полей:

  • field: строка, весь путь документа к участнику документа или поле, которое будет внесено в указатель.

  • type: последовательность, один из поддержанных типов столбца SQL, чтобы отобразить поле. Для числовых типов может следовать дополнительное ключевое слово UNSIGNED. Для типа TEXT может быть добавлена длина для индексации.

  • required: bool (опционально) true, если поле обязано существовать в документе. По умолчанию FALSE, за исключением GEOJSON, там умолчание TRUE.

  • options: integer (опционально) специальные флаги выбора для использования с данными GEOJSON.

  • srid: integer (опционально) srid для декодирования данных GEOJSON.

Ошибка включать другие области, не описанные выше, в IndexDefinition или IndexField.

Примеры

Пример 5.15. mysql_xdevapi\Collection::createIndex

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $collection = $schema->createCollection("people");
  // Creating a text index
  $collection->createIndex('myindex1', '{"fields": [{
                              "field": "$.name", "type": "TEXT(25)",
                              "required": true}], "unique": false}');
  // A spatial index
  $collection->createIndex('myindex2', '{"fields": [{"field": "$.home",
                              "type": "GEOJSON", "required": true}],
                              "type": "SPATIAL"}');
  // Index with multiple fields
  $collection->createIndex('myindex3', '{"fields": [{"field": "$.name",
                              "type": "TEXT(20)", "required": true},
                              {"field": "$.age", "type": "INTEGER"},
                              {"field": "$.job", "type": "TEXT(30)",
                               "required": false}], "unique": true}');

5.7.6. Collection::dropIndex

  • Collection::dropIndex

    Удалить индекс коллекции.

Описание

public bool mysql_xdevapi\Collection::dropIndex(string index_name);

Удалить индекс коллекции.

Эта операция не приводит к ошибке, если индекс не существует, но в этой ситуации вернет FALSE.

Параметры

index_name

Название индекса коллекции, чтобы удалить.

Возвращаемые значения

TRUE при успехе DROP INDEX, иначе FALSE.

Примеры

Пример 5.16. mysql_xdevapi\Collection::dropIndex

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $create = $schema->createCollection("people");
  // ...
  $collection = $schema->getCollection("people");
  $collection->createIndex('myindex', '{"fields": [{"field": "$.name",
                              "type": "TEXT(25)", "required": true}],
                              "unique": false}');
  // ...
  if ($collection->dropIndex('myindex')) {
     echo 'An index named 'myindex' was found, and dropped.';
  }
?>

Вышеупомянутый пример произведет:

An index named 'myindex' was found, and dropped.

5.7.7. Collection::existsInDatabase

  • Collection::existsInDatabase

    Проверьте, существует ли коллекция в базе данных.

Описание

public bool mysql_xdevapi\Collection::existsInDatabase();

Проверка, что объект Collection относится к коллекции в базе данных (схеме).

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Вернет TRUE, если коллекция существует в базе данных, иначе FALSE.

Примеры

Пример 5.17. mysql_xdevapi\Collection::existsInDatabase

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $create = $schema->createCollection("people");
  // ...
  $collection = $schema->getCollection("people");
  // ...
  if (!$collection->existsInDatabase()) {
     echo "The collection no longer exists in the database named addressbook. What happened?";
  }
?>

5.7.8. Collection::find

  • Collection::find

    Поиск документа.

Описание

public mysql_xdevapi\CollectionFind mysql_xdevapi\Collection::find(string search_condition);

Просматривает коллекцию в базе данных, чтобы найти документ или набор документов. Найденные документы возвращены, как объект CollectionFind, чтобы далее изменить или получить результаты.

Параметры

search_condition

Хотя дополнительный, обычно условие определяется, чтобы ограничить результаты подмножеством документов.

Многократные элементы могли бы построить условие, и синтаксис поддерживает привязку параметров. Выражение, используемое в качестве условия поиска, должно быть действительным SQL-выражением. Если никакое условие поиска не обеспечивается (пустое поле), тогда предполагается find('true').

Возвращаемые значения

Объект CollectionFind, чтобы проверить операцию или получить найденные документы.

Примеры

Пример 5.18. mysql_xdevapi\Collection::find example

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $collection = $schema->createCollection("people");
  $collection->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
  $collection->add('{"name": "Bob","age": 19, "job": "Swimmer"}')->execute();
  $collection->add('{"name": "Fred", "age": 20, "job": "Construction"}')->execute();
  $collection->add('{"name": "Wilma","age": 21, "job": "Teacher"}')->execute();
  $collection->add('{"name": "Suki", "age": 22, "job": "Teacher"}')->execute();
  $find = $collection->find('job LIKE :job AND age > :age');
  $result = $find
    ->bind(['job' => 'Teacher', 'age' => 20])
    ->sort('age DESC')
    ->limit(2)
    ->execute();
  print_r($result->fetchAll());
?>

Вышеупомянутый пример произведет:

Array
(
  [0] => Array
  (
    [_id] => 00005b6b536100000000000000a8
    [age] => 22
    [job] => Teacher
    [name] => Suki
  )
  [1] => Array
  (
    [_id] => 00005b6b536100000000000000a7
    [age] => 21
    [job] => Teacher
    [name] => Wilma
  )
)

5.7.9. Collection::getName

  • Collection::getName

    Получите имя коллекции.

Описание

public string mysql_xdevapi\Collection::getName();

Получите имя коллекции.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Имя коллекции как последовательность.

Примеры

Пример 5.19. mysql_xdevapi\Collection::getName

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $collection = $schema->createCollection("people");
  // ...
  var_dump($collection->getName());
?>

Вышеупомянутый пример произведет что-то подобное:

string(6) "people"

5.7.10. Collection::getOne

  • Collection::getOne

    Получите один документ.

Описание

public Document mysql_xdevapi\Collection::getOne(string id);

Получите один документ из коллекции.

Это сокращение для: Collection.find("_id = :id").bind("id", id).execute().fetchOne();.

Параметры

id

Документ _id в коллекции.

Возвращаемые значения

Объект коллекции или NULL, если _id не соответствует документу.

Примеры

Пример 5.20. mysql_xdevapi\Collection::getOne

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $collection = $schema->createCollection("people");
  $result = $collection->add('{"name": "Alfred", "age": 42, "job": "Butler"}')->execute();
  // A unique _id is (by default, and recommended) generated by MySQL Server
  // This retrieves the generated _id's; only one in this example, so $ids[0]
  $ids= $result->getGeneratedIds();
  $alfreds_id = $ids[0];
  // ...
  print_r($alfreds_id);
  print_r($collection->getOne($alfreds_id));
?>

Вышеупомянутый пример произведет что-то подобное:

00005b6b536100000000000000b1
Array
(
  [_id] => 00005b6b536100000000000000b1
  [age] => 42
  [job] => Butler
  [name] => Alfred
)

5.7.11. Collection::getSchema

  • Collection::getSchema

    Получите объект схемы.

Описание

public Schema Object mysql_xdevapi\Collection::getSchema();

Получает объект схемы, которая содержит коллекцию.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Объект схемы при успехе или NULL, если объект не может быть получен для данной коллекции.

Примеры

Пример 5.21. mysql_xdevapi\Collection::getSchema

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $collection = $schema->createCollection("people");
  var_dump($collection->getSchema());
?>

Вышеупомянутый пример произведет что-то подобное:

object(mysql_xdevapi\Schema)#9 (1) {
  ["name"]=>
  string(11) "addressbook"
}

5.7.12. Collection::getSession

  • Collection::getSession

    Получите объект сессии.

Описание

public Session mysql_xdevapi\Collection::getSession();

Получите объект сессии Session из объекта Collection.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Объект Session.

Примеры

Пример 5.22. mysql_xdevapi\Collection::getSession

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $collection = $schema->createCollection("people");
  // ...
  $newsession = $collection->getSession();
  var_dump($session);
  var_dump($newsession);
?>

Вышеупомянутый пример произведет что-то подобное:

object(mysql_xdevapi\Session)#1 (0) { }
object(mysql_xdevapi\Session)#4 (0) { }

5.7.13. Collection::modify

  • Collection::modify

    Измените документы коллекции.

Описание

public mysql_xdevapi\CollectionModify mysql_xdevapi\Collection::modify(string search_condition);

Измените документы, которые удовлетворяют определенным условиям поиска. Многократные операции позволены, и привязка параметров поддерживается.

Параметры

search_condition

Должно быть действительным SQL-выражением, используемым, чтобы соответствовать документам, чтобы изменить. Это выражение могло бы быть столь же простым как TRUE, что соответствует всем документам, или это могло бы использовать функции и операторы, например, 'CAST(_id AS SIGNED) >= 10', 'age MOD 2 = 0 OR age MOD 3 = 0', или '_id IN ["2","5","7","10"]'.

Возвращаемые значения

Если операция не будет выполнена, то функция возвратит объект Modify, который может использоваться, чтобы добавить дополнительные операции изменения.

Если операция будет выполнена, то возвращенный объект будет содержать результат операции.

Примеры

Пример 5.23. mysql_xdevapi\Collection::modify

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $collection = $schema->createCollection("people");
  $collection->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
  $collection->add('{"name": "Bob","age": 19, "job": "Painter"}')->execute();
  // Add two new jobs for all Painters: Artist and Crafter
  $collection
    ->modify("job in ('Butler', 'Painter')")
    ->arrayAppend('job', 'Artist')
    ->arrayAppend('job', 'Crafter')
    ->execute();
  // Remove the 'beer' field from all documents with the age 21
  $collection
    ->modify('age < 21')
    ->unset(['beer'])
    ->execute();
?>

5.7.14. Collection::remove

  • Collection::remove

    Удалите документы из коллекции.

Описание

public mysql_xdevapi\CollectionRemove mysql_xdevapi\Collection::remove(string search_condition);

Удалите документы из коллекции, которые соответствуют определенным условиям поиска. Многократные операции позволены, привязка параметров поддерживается.

Параметры

search_condition

Должно быть действительным SQL-выражением, используемым, чтобы соответствовать документам, чтобы изменить. Это выражение могло бы быть столь же простым как TRUE, что соответствует всем документам, или это могло бы использовать функции и операторы, например, 'CAST(_id AS SIGNED) >= 10', 'age MOD 2 = 0 OR age MOD 3 = 0', или '_id IN ["2","5","7","10"]'.

Возвращаемые значения

Если операция не будет выполнена, то функция возвратит объект Remove, который может использоваться, чтобы добавить параметры.

Если операция будет выполнена, то возвращенный объект будет содержать результат операции.

Примеры

Пример 5.24. mysql_xdevapi\Collection::remove

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $collection = $schema->createCollection("people");
  $collection->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
  $collection->add('{"name": "Bob","age": 19, "job": "Painter"}')->execute();
  // Remove all painters
  $collection
    ->remove("job in ('Painter')")
    ->execute();
  // Remove the oldest butler
  $collection
    ->remove("job in ('Butler')")
    ->sort('age desc')
    ->limit(1)
    ->execute();
  // Remove record with lowest age
  $collection
    ->remove('true')
    ->sort('age desc')
    ->limit(1)
    ->execute();
?>

5.7.15. Collection::removeOne

  • Collection::removeOne

    Удалите один документ из коллекции.

Описание

public mysql_xdevapi\Result mysql_xdevapi\Collection::removeOne(string id);

Удалите один документ из коллекции с указанным ID. Это сокращение для Collection.remove("_id = :id").bind("id", id).execute().

Параметры

id

ID документа коллекции, чтобы удалить. Как правило, это _id, который был произведен MySQL Server, когда запись была добавлена.

Возвращаемые значения

Объект Result, который может использоваться, чтобы запросить количество затронутых элементов или число предупреждений, произведенных операцией.

Примеры

Пример 5.25. mysql_xdevapi\Collection::removeOne

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $collection = $schema->createCollection("people");
  $result = $collection->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
  // Normally the _id is known by other means,
  // but for this example let's fetch the generated id and use it
  $ids = $result->getGeneratedIds();
  $alfred_id = $ids[0];
  $result = $collection->removeOne($alfred_id);
  if (!$result->getAffectedItemsCount()) {
     echo "Alfred with id $alfred_id was not removed.";
  } else {
    echo "Goodbye, Alfred, you can take _id $alfred_id with you.";
  }
?>

Вышеупомянутый пример произведет что-то подобное:

Goodbye, Alfred, you can take _id 00005b6b536100000000000000cb with you.

5.7.16. Collection::replaceOne

  • Collection::replaceOne

    Замените один документ коллекции.

Описание

public mysql_xdevapi\Result mysql_xdevapi\Collection::replaceOne(string id, string doc);

Замените (или обновите) один документ коллекции, определенный ID, если он существует.

Параметры

id

ID документа, чтобы заменить или обновить. Как правило, это _id, который был произведен MySQL Server, когда запись был добавлена.

doc

Документ коллекции, чтобы обновить или заменить документ, соответствующий id.

Этот документ может быть объектом документа или действительной последовательностью JSON, описывающей новый документ.

Возвращаемые значения

Объект Result, который может использоваться, чтобы запросить количество затронутых элементов и число предупреждений, произведенных операцией.

Примеры

Пример 5.26. mysql_xdevapi\Collection::replaceOne

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $collection = $schema->createCollection("people");
  $result = $collection->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
  // Normally the _id is known by other means,
  // but for this example let's fetch the generated id and use it
  $ids = $result->getGeneratedIds();
  $alfred_id = $ids[0];
  // ...
  $alfred = $collection->getOne($alfred_id);
  $alfred['age'] = 81;
  $alfred['job'] = 'Guru';
  $collection->replaceOne($alfred_id, $alfred);
?>

5.8. Класс CollectionAdd

mysql_xdevapi\CollectionAdd {
  mysql_xdevapi\CollectionAdd, mysql_xdevapi\Executable
  Methods public mysql_xdevapi\Result mysql_xdevapi\CollectionAdd::execute();
}

5.8.1. CollectionAdd::__construct

  • CollectionAdd::__construct

    Конструктор CollectionAdd.

Описание

private mysql_xdevapi\CollectionAdd::__construct();

Используйте, чтобы добавить документ в коллекцию, вызван из объекта Collection.

Параметры

Эта функция не имеет параметров.

Примеры

Пример 5.27. mysql_xdevapi\CollectionAdd::__construct

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $create = $schema->createCollection("people");
  $collection = $schema->getCollection("people");
  // Add two documents
  $collection
    ->add('{"name": "Fred","age": 21, "job": "Construction"}')
    ->execute();
  $collection
    ->add('{"name": "Wilma", "age": 23, "job": "Teacher"}')
    ->execute();
  // Add two documents using a single JSON object
  $result = $collection
    ->add('{"name": "Bernie", "jobs": [{"title":"Cat Herder",
             "Salary":42000}, {"title":"Father","Salary":0}],
             "hobbies": ["Sports","Making cupcakes"]}', '{"name": "Jane",
             "jobs": [{"title":"Scientist","Salary":18000},
             {"title":"Mother","Salary":0}],
             "hobbies": ["Walking","Making pies"]}')
    ->execute();
  // Fetch a list of generated ID's from the last add()
  $ids = $result->getGeneratedIds();
  print_r($ids);
?>

Вышеупомянутый пример произведет что-то подобное:

Array
(
  [0] => 00005b6b53610000000000000056
  [1] => 00005b6b53610000000000000057
)

Примечания

Уникальный _id произведен MySQL Server 8.0 или выше, как продемонстрировано в примере. Поле _id должно быть вручную определено, используя MySQL Server 5.7.

5.8.2. CollectionAdd::execute

  • CollectionAdd::execute

    Выполните запрос.

Описание

public mysql_xdevapi\Result mysql_xdevapi\CollectionAdd::execute();

Этот метод отправляет операционный запрос CRUD серверу MySQL.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Объект Result, который может использоваться, чтобы проверить статус операции, такой как количество затронутых строк.

Примеры

Пример 5.28. mysql_xdevapi\CollectionAdd::execute

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $create = $schema->createCollection("people");
  $collection = $schema->getCollection("people");
  // Add two documents
  $collection
    ->add('{"name": "Fred","age": 21, "job": "Construction"}')
    ->execute();
  $collection
    ->add('{"name": "Wilma", "age": 23, "job": "Teacher"}')
    ->execute();
  // Add two documents using a single JSON object
  $result = $collection
    ->add('{"name": "Bernie",
             "jobs": [{"title":"Cat Herder","Salary":42000},
             {"title":"Father","Salary":0}],
             "hobbies": ["Sports","Making cupcakes"]}',
             '{"name": "Jane",
             "jobs": [{"title":"Scientist","Salary":18000},
             {"title":"Mother","Salary":0}],
             "hobbies": ["Walking","Making pies"]}')
    ->execute();
  // Fetch a list of generated ID's from the last add()
  $ids = $result->getGeneratedIds();
  print_r($ids);
?>

Вышеупомянутый пример произведет что-то подобное:

Array
(
  [0] => 00005b6b53610000000000000056
  [1] => 00005b6b53610000000000000057
)

5.9. Класс CollectionFind

mysql_xdevapi\CollectionFind {
  mysql_xdevapi\CollectionFind, mysql_xdevapi\Executable,
  mysql_xdevapi\CrudOperationBindable, mysql_xdevapi\CrudOperationLimitable,
  mysql_xdevapi\CrudOperationSortable
  Methods public mysql_xdevapi\CollectionFind mysql_xdevapi\CollectionFind::bind(array placeholder_values);
  public mysql_xdevapi\DocResult mysql_xdevapi\CollectionFind::execute();
  public mysql_xdevapi\CollectionFind mysql_xdevapi\CollectionFind::fields(string projection);
  public mysql_xdevapi\CollectionFind mysql_xdevapi\CollectionFind::groupBy(string sort_expr);
  public mysql_xdevapi\CollectionFind mysql_xdevapi\CollectionFind::having(string sort_expr);
  public mysql_xdevapi\CollectionFind mysql_xdevapi\CollectionFind::limit(integer rows);
  public mysql_xdevapi\CollectionFind mysql_xdevapi\CollectionFind::lockExclusive(integer lock_waiting_option);
  public mysql_xdevapi\CollectionFind mysql_xdevapi\CollectionFind::lockShared(integer lock_waiting_option);
  public mysql_xdevapi\CollectionFind mysql_xdevapi\CollectionFind::offset(integer position);
  public mysql_xdevapi\CollectionFind mysql_xdevapi\CollectionFind::sort(string sort_expr);
}

5.9.1. CollectionFind::bind

  • CollectionFind::bind

    Привязывает значение к параметру запроса.

Описание

public mysql_xdevapi\CollectionFind mysql_xdevapi\CollectionFind::bind(array placeholder_values);

Это позволяет пользователю связывать параметр с заполнителем в условии поиска операции. У заполнителя есть форма :NAME, где ':' это общий префикс, который должен всегда существовать перед любым NAME, NAME это имя заполнителя. Функция принимает список заполнителей, если параметры нужно подставить в условия поиска.

Параметры

placeholder_values

Значения, чтобы занять место в условии поиска многократные значения позволены и передаются как множество где "PLACEHOLDER_NAME => PLACEHOLDER_VALUE".

Возвращаемые значения

Объект CollectionFind или цепочка с execute(), чтобы возвратить объект Result.

Примеры

Пример 5.29. mysql_xdevapi\CollectionFind::bind

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $create = $schema->createCollection("people");
  $result = $create
    ->add('{"name": "Alfred", "age": 18, "job": "Butler"}')
    ->execute();
  // ...
  $collection = $schema->getCollection("people");
  $result = $collection
    ->find('job like :job and age > :age')
    ->bind(['job' => 'Butler', 'age' => 16])
    ->execute();
  var_dump($result->fetchAll());
?>

Вышеупомянутый пример произведет что-то подобное:

array(1) {
  [0]=>
  array(4) {
    ["_id"]=>
    string(28) "00005b6b536100000000000000cf"
    ["age"]=>
    int(18)
    ["job"]=>
    string(6) "Butler"
    ["name"]=>
    string(6) "Alfred"
  }
}

5.9.2. CollectionFind::__construct

  • CollectionFind::__construct

    Конструктор CollectionFind.

Описание

private mysql_xdevapi\CollectionFind::__construct();

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Примеры

Пример 5.30. CollectionFind

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $create = $schema->createCollection("people");
  $result = $create
    ->add('{"name": "Alfred", "age": 18, "job": "Butler"}')
    ->execute();
  // ...
  $collection = $schema->getCollection("people");
  $result = $collection
    ->find('job like :job and age > :age')
    ->bind(['job' => 'Butler', 'age' => 16])
    ->execute();
  var_dump($result->fetchAll());
?>

Вышеупомянутый пример произведет что-то подобное:

array(1) {
  [0]=>
  array(4) {
    ["_id"]=>
    string(28) "00005b6b536100000000000000cf"
    ["age"]=>
    int(18)
    ["job"]=>
    string(6) "Butler"
    ["name"]=>
    string(6) "Alfred"
  }
}

5.9.3. CollectionFind::execute

  • CollectionFind::execute

    Выполните запрос.

Описание

public mysql_xdevapi\DocResult mysql_xdevapi\CollectionFind::execute();

Выполните операцию поиска, эта функциональность позволяет цепочку методов.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Объект DocResult, который позволяет получить результат или запросить статус операции.

Примеры

Пример 5.31. CollectionFind

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $create = $schema->createCollection("people");
  $create
    ->add('{"name": "Alfred", "age": 18, "job": "Butler"}')
    ->execute();
  // ...
  $collection = $schema->getCollection("people");
  $result = $collection
    ->find('job like :job and age > :age')
    ->bind(['job' => 'Butler', 'age' => 16])
    ->execute();
  var_dump($result->fetchAll());
?>

Вышеупомянутый пример произведет что-то подобное:

array(1) {
  [0]=>
  array(4) {
    ["_id"]=>
    string(28) "00005b6b536100000000000000cf"
    ["age"]=>
    int(18)
    ["job"]=>
    string(6) "Butler"
    ["name"]=>
    string(6) "Alfred"
  }
}

5.9.4. CollectionFind::fields

  • CollectionFind::fields

    Установите фильтр области документа.

Описание

public mysql_xdevapi\CollectionFind mysql_xdevapi\CollectionFind::fields(string projection);

Определение колонки для возврата запросом. Если не определена, тогда все колонки используются.

Параметры

projection

Может быть единственной последовательностью или множеством последовательностей, которые определяют колонки, которые должны быть возвращены для каждого документа, которые соответствуют условию поиска.

Возвращаемые значения

Объект CollectionFind, который может использоваться для последующей обработки.

Примеры

Пример 5.32. mysql_xdevapi\CollectionFind::fields

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $create = $schema->createCollection("people");
  $create
    ->add('{"name": "Alfred", "age": 18, "job": "Butler"}')
    ->execute();
  // ...
  $collection = $schema->getCollection("people");
  $result = $collection
    ->find('job like :job and age > :age')
    ->bind(['job' => 'Butler', 'age' => 16])
    ->fields('name')
    ->execute();
  var_dump($result->fetchAll());
?>

Вышеупомянутый пример произведет что-то подобное:

array(1) {
  [0]=>
  array(1) {
    ["name"]=>
    string(6) "Alfred"
  }
}

5.9.5. CollectionFind::groupBy

  • CollectionFind::groupBy

    Задает критерии группировки.

Описание

public mysql_xdevapi\CollectionFind mysql_xdevapi\CollectionFind::groupBy(string sort_expr);

Эта функция может использоваться, чтобы сгруппировать набор результатов, часто это используется с такими агрегатными функциями как COUNT, MAX, MIN, SUM.

Параметры

sort_expr

Колонка или колонки, которые должны использоваться для операции группы, это может быть единственной последовательностью или множеством аргументов строки, по одному для каждой колонки.

Возвращаемые значения

CollectionFind, который может использоваться для последующей обработки.

Примеры

Пример 5.33. mysql_xdevapi\CollectionFind::groupBy

<?php
  // Assuming $coll is a valid Collection object
  // Extract all the documents from the Collection and group the results by the 'name' field
  $res = $coll->find()->groupBy('name')->execute();
?>

5.9.6. CollectionFind::having

  • CollectionFind::having

    Установите условие для агрегатных функций.

Описание

public mysql_xdevapi\CollectionFind mysql_xdevapi\CollectionFind::having(string sort_expr);

Эта функция может использоваться после 'полевой' операции, чтобы сделать выбор на документах для извлечения.

Параметры

sort_expr

Это должно быть действительным SQL-выражением, использование функций агрегации позволено.

Возвращаемые значения

Объект CollectionFind, который может использоваться для последующей обработки.

Примеры

Пример 5.34. mysql_xdevapi\CollectionFind::having

<?php
  // Assuming $coll is a valid Collection object
  // Find all the documents for which the 'age' is greather than 40,
  // Only the columns 'name' and 'age' are returned in the Result object
  $res = $coll->find()->fields(['name','age'])->having('age > 40')->execute();
?>

5.9.7. CollectionFind::limit

  • CollectionFind::limit

    Количество возвращенных документов.

Описание

public mysql_xdevapi\CollectionFind mysql_xdevapi\CollectionFind::limit(integer rows);

Определите максимальное число возвращаемых документов.

Параметры

rows

Максимальное количество документов.

Возвращаемые значения

Объект CollectionFind, который может использоваться для дополнительной обработки, цепочка методов execute(), чтобы возвратить объект DocResult.

Примеры

Пример 5.35. mysql_xdevapi\CollectionFind::limit

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $create = $schema->createCollection("people");
  $create
    ->add('{"name": "Alfred", "age": 18, "job": "Butler"}')
    ->execute();
  $create
    ->add('{"name": "Reginald", "age": 42, "job": "Butler"}')
    ->execute();
  // ...
  $collection = $schema->getCollection("people");
  $result = $collection
    ->find('job like :job and age > :age')
    ->bind(['job' => 'Butler', 'age' => 16])
    ->sort('age desc')
    ->limit(1)
    ->execute();
  var_dump($result->fetchAll());
?>

Вышеупомянутый пример произведет что-то подобное:

array(1) {
  [0]=>
  array(4) {
    ["_id"]=>
    string(28) "00005b6b536100000000000000f3"
    ["age"]=>
    int(42)
    ["job"]=>
    string(6) "Butler"
    ["name"]=>
    string(8) "Reginald"
  }
}

5.9.8. CollectionFind::lockExclusive

  • CollectionFind::lockExclusive

    Выполните операцию с EXCLUSIVE LOCK.

Описание

public mysql_xdevapi\CollectionFind mysql_xdevapi\CollectionFind::lockExclusive(integer lock_waiting_option);

Исключительно блокирует документ, другие транзакции заблокированы на обновление документа, пока документ блокирован. В то время как документ, блокирован другие транзакции заблокированы на обновление документов при выполнении SELECT ... LOCK IN SHARE MODE или чтения данных на определенных уровнях изоляции транзакции. Последовательное чтение игнорирует любой набор блокировок на записях, которые существуют в прочитанном представлении.

Эта особенность непосредственно полезна с командой modify(), чтобы избежать проблем параллелизма. В основном это преобразовывает в последовательную форму доступ к строке посредством захвата строки.

Параметры

lock_waiting_option

Дополнительный выбор ожидания. По умолчанию это MYSQLX_LOCK_DEFAULT. Действительные значения такие:

  • MYSQLX_LOCK_DEFAULT

  • MYSQLX_LOCK_NOWAIT

  • MYSQLX_LOCK_SKIP_LOCKED

Возвращаемые значения

Объект CollectionFind, который может использоваться для последующей обработки.

Примеры

Пример 5.36. mysql_xdevapi\CollectionFind::lockExclusive

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $schema = $session->getSchema("addressbook");
  $collection = $schema->createCollection("people");
  $session->startTransaction();
  $result = $collection
    ->find("age > 50")
    ->lockExclusive()
    ->execute();
  // ... do an operation on the object
  // Complete the transaction and unlock the document
  $session->commit();
?>

5.9.9. CollectionFind::lockShared

  • CollectionFind::lockShared

    Выполните операцию с SHARED LOCK.

Описание

public mysql_xdevapi\CollectionFind mysql_xdevapi\CollectionFind::lockShared(integer lock_waiting_option);

Позволяет разделять документы между многими транзакциями, которые блокируют в режиме разделения.

Другие сессии могут прочитать строки, но не могут изменить их, пока ваша транзакция не передает изменения.

Если какая-либо из этих строк была изменена другой транзакцией, которая еще не передала данные, ваш запрос ждет до завершения той транзакции, а затем использует последние данные.

Параметры

lock_waiting_option

Дополнительный выбор ожидания. По умолчанию это MYSQLX_LOCK_DEFAULT. Действительные значения такие:

  • MYSQLX_LOCK_DEFAULT

  • MYSQLX_LOCK_NOWAIT

  • MYSQLX_LOCK_SKIP_LOCKED

Возвращаемые значения

Объект CollectionFind, который может использоваться для последующей обработки.

Примеры

Пример 5.37. mysql_xdevapi\CollectionFind::lockShared

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $schema = $session->getSchema("addressbook");
  $collection = $schema->createCollection("people");
  $session->startTransaction();
  $result = $collection
    ->find("age > 50")
    ->lockShared()
    ->execute();
    // ... read the object in shared mode
    // Complete the transaction and unlock the document
  $session->commit();
?>

5.9.10. CollectionFind::offset

  • CollectionFind::offset

    Пропустите данное число элементов.

Описание

public mysql_xdevapi\CollectionFind mysql_xdevapi\CollectionFind::offset(integer position);

Пропустите число элементов, которые иначе были бы возвращены операцией поиска. Используйте с методом limit().

Определение пропуска больше, чем размер набора результатов, приводит к пустому множеству.

Параметры

position

Число элементов, чтобы пропустить для операции limit().

Возвращаемые значения

Объект CollectionFind, который может использоваться для дополнительной обработки.

Примеры

Пример 5.38. mysql_xdevapi\CollectionFind::offset

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $create = $schema->createCollection("people");
  $create
    ->add('{"name": "Alfred", "age": 18, "job": "Butler"}')
    ->execute();
  $create
    ->add('{"name": "Reginald", "age": 42, "job": "Butler"}')
    ->execute();
  // ...
  $collection = $schema->getCollection("people");
  $result = $collection
    ->find()
    ->sort('age asc')
    ->offset(1)
    ->limit(1)
    ->execute();
  var_dump($result->fetchAll());
?>

Вышеупомянутый пример произведет что-то подобное:

array(1) {
  [0]=>
  array(4) {
    ["_id"]=>
    string(28) "00005b6b536100000000000000f3"
    ["age"]=>
    int(42)
    ["job"]=>
    string(6) "Butler"
    ["name"]=>
    string(8) "Reginald"
  }
}

5.9.11. CollectionFind::sort

  • CollectionFind::sort

    Установите критерии сортировки.

Описание

public mysql_xdevapi\CollectionFind mysql_xdevapi\CollectionFind::sort(string sort_expr);

Сортируйте набор результатов полем в аргументе sort_expr. Позволенные порядки: ASC (Ascending) и DESC (Descending). Эта операция эквивалентна SQL-оператору 'ORDER BY' и следует тем же самым правилам.

Параметры

sort_expr

Одно или более выражений для сортировки могут быть обеспечены. Оценка проводится слева направо, каждое выражение отделено запятой.

Возвращаемые значения

Объект CollectionFind, который может использоваться, чтобы выполнить команду или добавить дополнительные операции.

Примеры

Пример 5.39. mysql_xdevapi\CollectionFind::sort

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $create = $schema->createCollection("people");
  $create
    ->add('{"name": "Alfred", "age": 18, "job": "Butler"}')
    ->execute();
  $create
    ->add('{"name": "Reginald", "age": 42, "job": "Butler"}')
    ->execute();
  // ...
  $collection = $schema->getCollection("people");
  $result = $collection
    ->find()
    ->sort('job desc', 'age asc')
    ->execute();
  var_dump($result->fetchAll());
?>

Вышеупомянутый пример произведет что-то подобное:

array(2) {
  [0]=>
  array(4) {
    ["_id"]=>
    string(28) "00005b6b53610000000000000106"
    ["age"]=>
    int(18)
    ["job"]=>
    string(6) "Butler"
    ["name"]=>
    string(6) "Alfred"
  }
  [1]=>
  array(4) {
    ["_id"]=>
    string(28) "00005b6b53610000000000000107"
    ["age"]=>
    int(42)
    ["job"]=>
    string(6) "Butler"
    ["name"]=>
    string(8) "Reginald"
  }
}

5.10. Класс CollectionModify

mysql_xdevapi\CollectionModify {mysql_xdevapi\CollectionModify,
      mysql_xdevapi\Executable, mysql_xdevapi\CrudOperationBindable,
      mysql_xdevapi\CrudOperationLimitable,
      mysql_xdevapi\CrudOperationSkippable,
      mysql_xdevapi\CrudOperationSortable
  Methods public mysql_xdevapi\CollectionModify mysql_xdevapi\CollectionModify::arrayAppend(string collection_field,
          string expression_or_literal);
  public mysql_xdevapi\CollectionModify mysql_xdevapi\CollectionModify::arrayInsert(string collection_field,
         string expression_or_literal);
  public mysql_xdevapi\CollectionModify mysql_xdevapi\CollectionModify::bind(array placeholder_values);
  public mysql_xdevapi\Result mysql_xdevapi\CollectionModify::execute();
  public mysql_xdevapi\CollectionModify mysql_xdevapi\CollectionModify::limit(integer rows);
  public mysql_xdevapi\CollectionModify mysql_xdevapi\CollectionModify::patch(string document);
  public mysql_xdevapi\CollectionModify mysql_xdevapi\CollectionModify::replace(string collection_field,
         string expression_or_literal);
  public mysql_xdevapi\CollectionModify mysql_xdevapi\CollectionModify::set(string collection_field,
         string expression_or_literal);
  public mysql_xdevapi\CollectionModify mysql_xdevapi\CollectionModify::skip(integer position);
  public mysql_xdevapi\CollectionModify mysql_xdevapi\CollectionModify::sort(string sort_expr);
  public mysql_xdevapi\CollectionModify mysql_xdevapi\CollectionModify::unset(array fields);
}

5.10.1. CollectionModify::arrayAppend

  • CollectionModify::arrayAppend

    Добавить элемент к множеству полей.

Описание

public mysql_xdevapi\CollectionModify mysql_xdevapi\CollectionModify::arrayAppend(string collection_field, string expression_or_literal);

Добавьте элемент к полю документа, многократные элементы полей представляются как множество. В отличие от arrayInsert(), arrayAppend() всегда добавляет новый элемент в конце множества, тогда как arrayInsert() может определить местоположение.

Параметры

collection_field

Идентификатор поля, где новый элемент вставляется.

expression_or_literal

Новый элемент, чтобы вставить в конце множества поля документа.

Возвращаемые значения

Объект CollectionModify, который может использоваться, чтобы выполнить команду или добавить дополнительные операции.

Примеры

Пример 5.40. mysql_xdevapi\CollectionModify::arrayAppend

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $collection = $schema->createCollection("people");
  $result = $collection
    ->add('{"name": "Bernie", "traits": ["Friend", "Brother", "Human"]}')
    ->execute();
  $collection
    ->modify("name in ('Bernie', 'Jane')")
    ->arrayAppend('traits', 'Happy')
    ->execute();
  $result = $collection
    ->find()
    ->execute();
  print_r($result->fetchAll());
?>

Вышеупомянутый пример произведет что-то подобное:

Array
(
  [0] => Array
  (
    [_id] => 00005b6b5361000000000000010c
    [name] => Bernie
    [traits] => Array
    (
      [0] => Friend
      [1] => Brother
      [2] => Human
      [3] => Happy
    )
  )
)

5.10.2. CollectionModify::arrayInsert

  • CollectionModify::arrayInsert

    Вставить элемент в поле множества.

Описание

public mysql_xdevapi\CollectionModify mysql_xdevapi\CollectionModify::arrayInsert(string collection_field, string expression_or_literal);

Добавьте элемент к полю документа, многократные элементы поля представляются как множество. В отличие от arrayAppend(), arrayInsert() позволяет вам определять, где новый элемент вставляется, определяя элемент, после которого выполяется вставка, тогда как arrayAppend() всегда вставляет новый элемент в конце множества.

Параметры

collection_field

Определите пункт во множестве, после которого новый элемент вставляется. Формат этого параметра FIELD_NAME[INDEX], где FIELD_NAME название поля документа, чтобы вставить, а INDEX это индекс элемента в поле.

INDEX считается с 0, таким образом, у крайнего левого пункта множества есть индекс 0.

expression_or_literal

Новый элемент, чтобы вставить после FIELD_NAME[INDEX].

Возвращаемые значения

Объект CollectionModify, который может использоваться, чтобы выполнить команду или добавить дополнительные операции.

Примеры

Пример 5.41. mysql_xdevapi\CollectionModify::arrayInsert

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $collection = $schema->createCollection("people");
  $result = $collection
    ->add('{"name": "Bernie", "traits": ["Friend", "Brother", "Human"]}')
    ->execute();
  $collection
    ->modify("name in ('Bernie', 'Jane')")
    ->arrayInsert('traits[1]', 'Happy')
    ->execute();
  $result = $collection
    ->find()
    ->execute();
  print_r($result->fetchAll());
?>

Вышеупомянутый пример произведет что-то подобное:

Array
(
  [0] => Array
  (
    [_id] => 00005b6b5361000000000000010d
    [name] => Bernie
    [traits] => Array
    (
      [0] => Friend
      [1] => Happy
      [2] => Brother
      [3] => Human
    )
  )
)

5.10.3. CollectionModify::bind

  • CollectionModify::bind

    Привязывает значение к шаблону.

Описание

public mysql_xdevapi\CollectionModify mysql_xdevapi\CollectionModify::bind(array placeholder_values);

Привязывает значение к шаблону в условии поиска операции modify.

У заполнителя есть форма :NAME, где ':' общий префикс, который должен всегда существовать перед любым NAME, где NAME это название заполнителя. Метод принимает список заполнителей, если нужно подставить в условие поиска сразу несколько значений.

Параметры

placeholder_values

Значения заполнителя, чтобы занять место в условии поиска. Многократные значения позволены и должны быть переданы как множество отображений PLACEHOLDER_NAME->PLACEHOLDER_VALUE.

Возвращаемые значения

Объект CollectionModify, который может использоваться, чтобы выполнить команду или добавить дополнительные операции.

Примеры

Пример 5.42. mysql_xdevapi\CollectionModify::bind

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $collection = $schema->createCollection("people");
  $result = $collection
    ->add('{"name": "Bernie", "traits": ["Friend", "Brother", "Human"]}')
    ->execute();
  $collection
    ->modify("name = :name")
    ->bind(['name' => 'Bernie'])
    ->arrayAppend('traits', 'Happy')
    ->execute();
  $result = $collection
    ->find()
    ->execute();
  print_r($result->fetchAll());
?>

Вышеупомянутый пример произведет что-то подобное:

Array
(
  [0] => Array
  (
    [_id] => 00005b6b53610000000000000110
    [name] => Bernie
    [traits] => Array
    (
      [0] => Friend
      [1] => Brother
      [2] => Human
      [3] => Happy
    )
  )
)

5.10.4. CollectionModify::__construct

  • CollectionModify::__construct

    Конструктор CollectionModify.

Описание

private mysql_xdevapi\CollectionModify::__construct();

Изменит (обновиют) коллекцию. Экземпляр создается методом Collection::modify().

Параметры

Эта функция не имеет параметров.

Примеры

Пример 5.43. mysql_xdevapi\CollectionModify::__construct

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $collection = $schema->createCollection("people");
  $result = $collection
    ->add('{"name": "Bernie", "traits": ["Friend", "Brother", "Human"]}')
    ->execute();
  $collection
    ->modify("name in ('Bernie', 'Jane')")
    ->arrayAppend('traits', 'Happy')
    ->execute();
  $result = $collection
    ->find()
    ->execute();
    print_r($result->fetchAll());
?>

Вышеупомянутый пример произведет что-то подобное:

Array
(
  [0] => Array
  (
    [_id] => 00005b6b5361000000000000010c
    [name] => Bernie
    [traits] => Array
    (
      [0] => Friend
      [1] => Brother
      [2] => Human
      [3] => Happy
    )
  )
)

5.10.5. CollectionModify::execute

  • CollectionModify::execute

    Выполните операцию изменения.

Описание

public mysql_xdevapi\Result mysql_xdevapi\CollectionModify::execute();

Метод требуется, чтобы отправить операционный запрос CRUD серверу MySQL.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Объект Result, который может использоваться, чтобы проверить статус операции, такой как количество затронутых строк.

Примеры

Пример 5.44. mysql_xdevapi\CollectionModify::execute

<?php
  /* ... */
?>

5.10.6. CollectionModify::limit

  • CollectionModify::limit

    Количество измененных документов.

Описание

public mysql_xdevapi\CollectionModify mysql_xdevapi\CollectionModify::limit(integer rows);

Ограничит количество документов, измененных этой операцией. Произвольно комбинируется с skip(), чтобы определить значение пропуска.

Параметры

rows

Максимальное количество документов, чтобы изменить.

Возвращаемые значения

Объект CollectionModify.

Примеры

Пример 5.45. mysql_xdevapi\CollectionModify::limit

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $collection = $schema->createCollection("people");
  $collection->add('{"name": "Fred","age": 21, "job": "Construction"}')->execute();
  $collection->add('{"name": "Wilma", "age": 23, "job": "Teacher"}')->execute();
  $collection->add('{"name": "Betty", "age": 24, "job": "Teacher"}')->execute();
  $collection
    ->modify("job = :job")
    ->bind(['job' => 'Teacher'])
    ->set('job', 'Principal')
    ->limit(1)
    ->execute();
  $result = $collection
    ->find()
    ->execute();
  print_r($result->fetchAll());
?>

Вышеупомянутый пример произведет что-то подобное:

Array
(
  [0] => Array
  (
    [_id] => 00005b6b53610000000000000118
    [age] => 21
    [job] => Construction
    [name] => Fred
  )
  [1] => Array
  (
    [_id] => 00005b6b53610000000000000119
    [age] => 23
    [job] => Principal
    [name] => Wilma
  )
  [2] => Array
  (
    [_id] => 00005b6b5361000000000000011a
    [age] => 24
    [job] => Teacher
    [name] => Betty
  )
)

5.10.7. CollectionModify::patch

  • CollectionModify::patch

    Ставит патч документа.

Описание

public mysql_xdevapi\CollectionModify mysql_xdevapi\CollectionModify::patch(string document);

Берет объект и применяет его на один или несколько документов, может обновить много свойств документа.

Эта функция пока не документирована, есть только список параметров.

Параметры

document

Документ со свойствами относиться к соответствующим документам.

Возвращаемые значения

Объект CollectionModify.

Примеры

Пример 5.46. mysql_xdevapi\CollectionModify::patch

<?php
  $res = $coll->modify('"Programmatore" IN job')->patch('{"Hobby" : "Programmare"}')->execute();
?>

5.10.8. CollectionModify::replace

  • CollectionModify::replace

    Заменит поле документа.

Описание

public mysql_xdevapi\CollectionModify mysql_xdevapi\CollectionModify::replace(string collection_field, string expression_or_literal);

Заменит (обновит) данное значение поля новым.

Параметры

collection_field

Путь документа к элементу.

expression_or_literal

Значение, чтобы установить на указанном признаке.

Возвращаемые значения

Объект CollectionModify.

Примеры

Пример 5.47. mysql_xdevapi\CollectionModify::replace

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $collection = $schema->createCollection("people");
  $result = $collection
    ->add('{"name": "Bernie", "traits": ["Friend", "Brother", "Human"]}')
    ->execute();
  $collection
    ->modify("name = :name")
    ->bind(['name' => 'Bernie'])
    ->replace("name", "Bern")
    ->execute();
  $result = $collection
    ->find()
    ->execute();
  print_r($result->fetchAll());
?>

Вышеупомянутый пример произведет что-то подобное:

Array
(
  [0] => Array
  (
    [_id] => 00005b6b5361000000000000011b
    [name] => Bern
    [traits] => Array
    (
      [0] => Friend
      [1] => Brother
      [2] => Human
    )
  )
)

5.10.9. CollectionModify::set

  • CollectionModify::set

    Установите атрибут документа.

Описание

public mysql_xdevapi\CollectionModify mysql_xdevapi\CollectionModify::set(string collection_field, string expression_or_literal);

Установит или обновит атрибуты на документах в коллекции.

Параметры

collection_field

Путь документа (название) элемента.

expression_or_literal

Значение, чтобы установить.

Возвращаемые значения

Объект CollectionModify.

Примеры

Пример 5.48. mysql_xdevapi\CollectionModify::set

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $collection = $schema->createCollection("people");
  $result = $collection
    ->add('{"name": "Bernie", "traits": ["Friend", "Brother", "Human"]}')
    ->execute();
  $collection
    ->modify("name = :name")
    ->bind(['name' => 'Bernie'])
    ->set("name", "Bern")
    ->execute();
  $result = $collection
    ->find()
    ->execute();
  print_r($result->fetchAll());
?>

Вышеупомянутый пример произведет что-то подобное:

Array
(
  [0] => Array
  (
    [_id] => 00005b6b53610000000000000111
    [name] => Bern
    [traits] => Array
    (
      [0] => Friend
      [1] => Brother
      [2] => Human
    )
  )
)

5.10.10. CollectionModify::skip

  • CollectionModify::skip

    Пропустить элементы.

Описание

public mysql_xdevapi\CollectionModify mysql_xdevapi\CollectionModify::skip(integer position);

Пропустить первые N элементов, которые были бы иначе возвращены операцией поиска. Если число пропускаемых элементов больше, чем размер набора результатов, то операция поиска возвращает пустое множество.

Эта функция пока не документирована, есть только список параметров.

Параметры

position

Число элементов, чтобы пропустить.

Возвращаемые значения

Объект CollectionModify, чтобы использовать для последующей обработки.

Примеры

Пример 5.49. mysql_xdevapi\CollectionModify::skip

<?php
  $coll->modify('age > :age')->sort('age desc')->unset(['age'])->bind(['age' => 20])->limit(4)->skip(1)->execute();
?>

5.10.11. CollectionModify::sort

  • CollectionModify::sort

    Установите критерии сортировки.

Описание

public mysql_xdevapi\CollectionModify mysql_xdevapi\CollectionModify::sort(string sort_expr);

Сортируйте набор результатов полем, заданным в параметре sort_expr. Позволенные порядки ASC (Ascending) или DESC (Descending). Эта операция эквивалентна 'ORDER BY' в SQL и следует тем же самым правилам.

Эта функция пока не документирована, есть только список параметров.

Параметры

sort_expr

Одно или более выражений для сортировки могут быть обеспечены, оценка их будет от крайнего левого до крайнего правого, каждое выражение должно быть отделено запятой.

Возвращаемые значения

Объект CollectionModify, который может использоваться для последующей обработки.

Примеры

Пример 5.50. mysql_xdevapi\CollectionModify::sort

<?php
  $res = $coll->modify('true')->sort('name desc',
         'age asc')->limit(4)->set('Married', 'NO')->execute();
?>

5.10.12. CollectionModify::unset

  • CollectionModify::unset

    Сбросьте значение полей документа.

Описание

public mysql_xdevapi\CollectionModify mysql_xdevapi\CollectionModify::unset(array fields);

Удаляет признаки из документов в коллекции.

Эта функция пока не документирована, есть только список параметров.

Параметры

fields

Признаки, чтобы удалить из документов в коллекции.

Возвращаемые значения

Объект CollectionModify, который может использоваться для последующей обработки.

Примеры

Пример 5.51. mysql_xdevapi\CollectionModify::unset

<?php
  $res = $coll->modify('job like :job_name')->unset(["age",
         "name"])->bind(['job_name' => 'Plumber'])->execute();
?>

5.11. Класс CollectionRemove

mysql_xdevapi\CollectionRemove {mysql_xdevapi\CollectionRemove,
      mysql_xdevapi\Executable, mysql_xdevapi\CrudOperationBindable,
      mysql_xdevapi\CrudOperationLimitable,
      mysql_xdevapi\CrudOperationSortable
  Methods public mysql_xdevapi\CollectionRemove mysql_xdevapi\CollectionRemove::bind(array placeholder_values);
  public mysql_xdevapi\Result mysql_xdevapi\CollectionRemove::execute();
  public mysql_xdevapi\CollectionRemove mysql_xdevapi\CollectionRemove::limit(integer rows);
  public mysql_xdevapi\CollectionRemove mysql_xdevapi\CollectionRemove::sort(string sort_expr);
}

5.11.1. CollectionRemove::bind

  • CollectionRemove::bind

    Привязать значение к шаблону.

Описание

public mysql_xdevapi\CollectionRemove mysql_xdevapi\CollectionRemove::bind(array placeholder_values);

Привязать значение к шаблону в условии поиска операции remove.

У заполнителя есть форма :NAME, где ':' общий префикс, который должен всегда существовать перед любым NAME, а NAME это название заполнителя. Метод принимает список заполнителей, если нужно заменить несколько вариантов в условии поиска.

Эта функция пока не документирована, есть только список параметров.

Параметры

placeholder_values

Значение заполнителя, чтобы занять место в условии поиска. Многократные значения позволены и должны быть переданы как множество отображений PLACEHOLDER_NAME->PLACEHOLDER_VALUE.

Возвращаемые значения

Объект CollectionRemove, который может использоваться, чтобы выполнить команду или добавить дополнительные операции.

Примеры

Пример 5.52. mysql_xdevapi\CollectionRemove::bind

<?php
  $res = $coll->remove('age > :age_from and age < :age_to')->bind(['age_from' => 20, 'age_to' => 50])->limit(7)->execute();
?>

5.11.2. CollectionRemove::__construct

  • CollectionRemove::__construct

    Конструктор CollectionRemove.

Описание

private mysql_xdevapi\CollectionRemove::__construct();

Удалите документы из коллекции, экземпляр порождается методом Collection::remove().

Параметры

Эта функция не имеет параметров.

Примеры

Пример 5.53. mysql_xdevapi\Collection::remove

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $collection = $schema->createCollection("people");
  $collection->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
  $collection->add('{"name": "Bob","age": 19, "job": "Painter"}')->execute();
  // Remove all painters
  $collection
    ->remove("job in ('Painter')")
    ->execute();
  // Remove the oldest butler
  $collection
    ->remove("job in ('Butler')")
    ->sort('age desc')
    ->limit(1)
    ->execute();
  // Remove record with lowest age
  $collection
    ->remove('true')
    ->sort('age desc')
    ->limit(1)
    ->execute();
?>

5.11.3. CollectionRemove::execute

  • CollectionRemove::execute

    Выполните операцию remove.

Описание

public mysql_xdevapi\Result mysql_xdevapi\CollectionRemove::execute();

Функция должна быть вызвана, чтобы вызвать клиента, чтобы отправить операционный запрос CRUD серверу.

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Объект Result.

Примеры

Пример 5.54. mysql_xdevapi\CollectionRemove::execute

<?php
  $res = $coll->remove('true')->sort('age desc')->limit(2)->execute();
?>

5.11.4. CollectionRemove::limit

  • CollectionRemove::limit

    Количество документов, чтобы удалить.

Описание

public mysql_xdevapi\CollectionRemove mysql_xdevapi\CollectionRemove::limit(integer rows);

Определяет максимальное число документов, чтобы удалить.

Эта функция пока не документирована, есть только список параметров.

Параметры

rows

Максимальное количество документов, чтобы удалить.

Возвращаемые значения

Объект CollectionRemove, который может использоваться, чтобы выполнить команду или добавить дополнительные операции.

Примеры

Пример 5.55. mysql_xdevapi\CollectionRemove::limit

<?php
  $res = $coll->remove('job in (\'Barista\', \'Programmatore\',
                          \'Ballerino\', \'Programmatrice\')')->limit(5)->sort(['age desc', 'name asc'])->execute();
?>

5.11.5. CollectionRemove::sort

  • CollectionRemove::sort

    Установите критерии сортировки.

Описание

public mysql_xdevapi\CollectionRemove mysql_xdevapi\CollectionRemove::sort(string sort_expr);

Сортируйте набор результатов полем в параметре sort_expr. Позволенные порядки ASC (Ascending) или DESC (Descending). Эта операция эквивалентна 'ORDER BY' в SQL и следует тем же самым правилам.

Эта функция пока не документирована, есть только список параметров.

Параметры

sort_expr

Одно или более выражений для сортировки могут быть обеспечены. Оценка слева направо, и каждое выражение отделено запятой.

Возвращаемые значения

CollectionRemove, который может использоваться, чтобы выполнить команду или добавить дополнительные операции.

Примеры

Пример 5.56. mysql_xdevapi\CollectionRemove::sort

<?php
  $res = $coll->remove('true')->sort('age desc')->limit(2)->execute();
?>

5.12. Класс ColumnResult

mysql_xdevapi\ColumnResult {mysql_xdevapi\ColumnResult
  Methods public string mysql_xdevapi\ColumnResult::getCharacterSetName();
  public string mysql_xdevapi\ColumnResult::getCollationName();
  public string mysql_xdevapi\ColumnResult::getColumnLabel();
  public string mysql_xdevapi\ColumnResult::getColumnName();
  public integer mysql_xdevapi\ColumnResult::getFractionalDigits();
  public integer mysql_xdevapi\ColumnResult::getLength();
  public string mysql_xdevapi\ColumnResult::getSchemaName();
  public string mysql_xdevapi\ColumnResult::getTableLabel();
  public string mysql_xdevapi\ColumnResult::getTableName();
  public integer mysql_xdevapi\ColumnResult::getType();
  public integer mysql_xdevapi\ColumnResult::isNumberSigned();
  public integer mysql_xdevapi\ColumnResult::isPadded();
}

5.12.1. ColumnResult::__construct

  • ColumnResult::__construct

    Конструктор ColumnResult.

Описание

private mysql_xdevapi\ColumnResult::__construct();

Получить метаданные колонки, такие как набор символов, экземпляр этого создается методом RowResult::getColumns().

Параметры

Эта функция не имеет параметров.

Примеры

Пример 5.57. mysql_xdevapi\ColumnResult::__construct

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS nonsense")->execute();
  $session->sql("CREATE DATABASE nonsense")->execute();
  $session->sql("CREATE TABLE nonsense.numbers (hello int, world float unsigned)")->execute();
  $session->sql("INSERT INTOnonsense.numbers values (42, 42)")->execute();
  $schema = $session->getSchema("nonsense");
  $table= $schema->getTable("numbers");
  $result1 = $table->select('hello','world')->execute();
  // Returns an array of ColumnResult objects
  $columns = $result1->getColumns();
  foreach ($columns as $column) {
    echo "\nColumn label " , $column->getColumnLabel();
    echo " is type " , $column->getType();
    echo " and is ", ($column->isNumberSigned() === 0) ? "Unsigned." : "Signed.";
  }
  // Alternatively
  $result2 = $session->sql("SELECT * FROM nonsense.numbers")->execute();
  // Returns an array of FieldMetadata objects
  print_r($result2->getColumns());
?>

Вышеупомянутый пример произведет что-то подобное:

Column label hello is type 19 and is Signed.
Column label world is type 4and is Unsigned.
Array
(
  [0] => mysql_xdevapi\FieldMetadata Object
  (
    [type] => 1
    [type_name] => SINT
    [name] => hello
    [original_name] => hello
    [table] => numbers
    [original_table] => numbers
    [schema] => nonsense
    [catalog] => def
    [collation] => 0
    [fractional_digits] => 0
    [length] => 11
    [flags] => 0
    [content_type] => 0
  )
  [1] => mysql_xdevapi\FieldMetadata Object
  (
    [type] => 6
    [type_name] => FLOAT
    [name] => world
    [original_name] => world
    [table] => numbers
    [original_table] => numbers
    [schema] => nonsense
    [catalog] => def
    [collation] => 0
    [fractional_digits] => 31
    [length] => 12
    [flags] => 1
    [content_type] => 0
  )
)

5.12.2. ColumnResult::getCharacterSetName

  • ColumnResult::getCharacterSetName

    Получите набор символов.

Описание

public string mysql_xdevapi\ColumnResult::getCharacterSetName();

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Примеры

Пример 5.58. mysql_xdevapi\ColumnResult::getCharacterSetName

<?php
  /* ... */
?>

5.12.3. ColumnResult::getCollationName

  • ColumnResult::getCollationName

    Получите имя сопоставления.

Описание

public string mysql_xdevapi\ColumnResult::getCollationName();

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Примеры

Пример 5.59. mysql_xdevapi\ColumnResult::getCollationName

<?php
  /* ... */
?>

5.12.4. ColumnResult::getColumnLabel

  • ColumnResult::getColumnLabel

    Получите метку столбца.

Описание

public string mysql_xdevapi\ColumnResult::getColumnLabel();

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Примеры

Пример 5.60. mysql_xdevapi\ColumnResult::getColumnLabel

<?php
  /* ... */
?>

5.12.5. ColumnResult::getColumnName

  • ColumnResult::getColumnName

    Получите имя столбца.

Описание

public string mysql_xdevapi\ColumnResult::getColumnName();

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Примеры

Пример 5.61. mysql_xdevapi\ColumnResult::getColumnName

<?php
  /* ... */
?>

5.12.6. ColumnResult::getFractionalDigits

  • ColumnResult::getFractionalDigits

    Получите длину дробной части.

Описание

public integer mysql_xdevapi\ColumnResult::getFractionalDigits();

Вернет количество дробных цифр для колонки.

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Примеры

Пример 5.62. mysql_xdevapi\ColumnResult::getFractionalDigits

<?php
  /* ... */
?>

5.12.7. ColumnResult::getLength

  • ColumnResult::getLength

    Получите длину поля колонки.

Описание

public integer mysql_xdevapi\ColumnResult::getLength();

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Примеры

Пример 5.63. mysql_xdevapi\ColumnResult::getLength

<?php
  /* ... */
?>

5.12.8. ColumnResult::getSchemaName

  • ColumnResult::getSchemaName

    Получите название схемы.

Описание

public string mysql_xdevapi\ColumnResult::getSchemaName();

Вернет название схемы, где колонка сохранена.

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Примеры

Пример 5.64. mysql_xdevapi\ColumnResult::getSchemaName

<?php
  /* ... */
?>

5.12.9. ColumnResult::getTableLabel

  • ColumnResult::getTableLabel

    Получите метку таблицы.

Описание

public string mysql_xdevapi\ColumnResult::getTableLabel();

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Примеры

Пример 5.65. mysql_xdevapi\ColumnResult::getTableLabel

<?php
  /* ... */
?>

5.12.10. ColumnResult::getTableName

  • ColumnResult::getTableName

    Получите имя таблицы.

Описание

public string mysql_xdevapi\ColumnResult::getTableName();

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Название таблицы для колонки.

Примеры

Пример 5.66. mysql_xdevapi\ColumnResult::getTableName

<?php
  /* ... */
?>

5.12.11. ColumnResult::getType

  • ColumnResult::getType

    Получите тип столбца.

Описание

public integer mysql_xdevapi\ColumnResult::getType();

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Примеры

Пример 5.67. mysql_xdevapi\ColumnResult::getType

<?php
  /* ... */
?>

5.12.12. ColumnResult::isNumberSigned

  • ColumnResult::isNumberSigned

    Тип со знаком?

Описание

public integer mysql_xdevapi\ColumnResult::isNumberSigned();

Вернет информацию о колонке, экземпляр порождается методом RowResult::getColumns().

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

TRUE, если данная колонка имеет тип со знаком.

Примеры

Пример 5.68. mysql_xdevapi\ColumnResult::isNumberSigned

<?php
  /* ... */
?>

5.12.13. ColumnResult::isPadded

  • ColumnResult::isPadded

    Есть ли дополнение?

Описание

public integer mysql_xdevapi\ColumnResult::isPadded();

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

TRUE, если столбец дополнен.

Примеры

Пример 5.69. mysql_xdevapi\ColumnResult::isPadded

<?php
  /* ... */
?>

5.13. Интерфейс CrudOperationBindable

mysql_xdevapi\CrudOperationBindable {mysql_xdevapi\CrudOperationBindable
  Methodsabstract public mysql_xdevapi\CrudOperationBindable mysql_xdevapi\CrudOperationBindable::bind(array placeholder_values);
}

5.13.1. CrudOperationBindable::bind

  • CrudOperationBindable::bind

    Привязывает значение к шаблону.

Описание

abstract public mysql_xdevapi\CrudOperationBindable mysql_xdevapi\CrudOperationBindable::bind(array placeholder_values);

Привязывает значение к шаблону.

Эта функция пока не документирована, есть только список параметров.

Параметры

placeholder_values

Название заполнителей и значения, чтобы связать.

Возвращаемые значения

Объект CrudOperationBindable.

Примеры

Пример 5.70. mysql_xdevapi\CrudOperationBindable::bind

<?php
  $res = $coll->modify('name like :name')->arrayInsert('job[0]', 'Calciatore')->bind(['name' => 'ENTITY'])->execute();
  $res = $table->delete()->orderby('age desc')->where('age < 20 and age > 12 and name != :name')->bind(['name' => 'Tierney'])->limit(2)->execute();
?>

5.14. Интерфейс CrudOperationLimitable

mysql_xdevapi\CrudOperationLimitable {mysql_xdevapi\CrudOperationLimitable
  Methodsabstract public mysql_xdevapi\CrudOperationLimitable
  mysql_xdevapi\CrudOperationLimitable::limit(integer rows);
}

5.14.1. CrudOperationLimitable::limit

  • CrudOperationLimitable::limit

    Установите предел результата.

Описание

abstract public mysql_xdevapi\CrudOperationLimitable mysql_xdevapi\CrudOperationLimitable::limit(integer rows);

Определяет максимальное число возвращаемых записей или документов.

Эта функция пока не документирована, есть только список параметров.

Параметры

rows

Максимальное количество записей или документов.

Возвращаемые значения

Объект CrudOperationLimitable.

Примеры

Пример 5.71. mysql_xdevapi\CrudOperationLimitable::limit

<?php
  $res = $coll->find()->fields(['name as n','age as a','job as j'])->groupBy('j')->limit(11)->execute();
  $res = $table->update()->set('age',69)->where('age > 15 and age < 22')->limit(4)->orderby(['age asc','name desc'])->execute();
?>

5.15. Интерфейс CrudOperationSkippable

mysql_xdevapi\CrudOperationSkippable {mysql_xdevapi\CrudOperationSkippable
  Methodsabstract public mysql_xdevapi\CrudOperationSkippable
  mysql_xdevapi\CrudOperationSkippable::skip(integer skip);
}

5.15.1. CrudOperationSkippable::skip

  • CrudOperationSkippable::skip

    Количество операций, чтобы пропустить.

Описание

abstract public mysql_xdevapi\CrudOperationSkippable mysql_xdevapi\CrudOperationSkippable::skip(integer skip);

Пропустите это количество записей в операции возврата.

Эта функция пока не документирована, есть только список параметров.

Параметры

skip

Число элементов, чтобы пропустить.

Возвращаемые значения

Объект CrudOperationSkippable.

Примеры

Пример 5.72. mysql_xdevapi\CrudOperationSkippable::skip

<?php
  $res = $coll->find('job like \'Programmatore\'')->limit(1)->skip(3)->sort('age asc')->execute();
?>

5.16. Интерфейс CrudOperationSortable

mysql_xdevapi\CrudOperationSortable {mysql_xdevapi\CrudOperationSortable
  Methodsabstract public mysql_xdevapi\CrudOperationSortable
  mysql_xdevapi\CrudOperationSortable::sort(string sort_expr);
}

5.16.1. CrudOperationSortable::sort

  • CrudOperationSortable::sort

    Сортировать результаты.

Описание

abstract public mysql_xdevapi\CrudOperationSortable mysql_xdevapi\CrudOperationSortable::sort(string sort_expr);

Сортируйте набор результатов полем в sort_expr. Позволенные порядки ASC (Ascending) или DESC (Descending). Эта операция эквивалентна 'ORDER BY' в SQL и использует те же правила.

Эта функция пока не документирована, есть только список параметров.

Параметры

sort_expr

Одно или более выражений для сортировки могут быть обеспечены. Оценка слева направо, каждое выражение отделено запятой.

Возвращаемые значения

Объект CrudOperationSortable.

Примеры

Пример 5.73. mysql_xdevapi\CrudOperationSortable::sort

<?php
  $res = $coll->find('job like \'Cavia\'')->sort('age desc', '_id desc')->execute();
?>

5.17. DatabaseObject interface

mysql_xdevapi\DatabaseObject {mysql_xdevapi\DatabaseObject
  Methodsabstract public bool mysql_xdevapi\DatabaseObject::existsInDatabase();
  abstract public string mysql_xdevapi\DatabaseObject::getName();
  abstract public mysql_xdevapi\Session mysql_xdevapi\DatabaseObject::getSession();
}

5.17.1 DatabaseObject::existsInDatabase

  • DatabaseObject::existsInDatabase

    Проверьте, существует ли объект в базе данных.

Описание

abstract public bool mysql_xdevapi\DatabaseObject::existsInDatabase();

Проверяет, относится ли объект базы данных к объекту, который существует в базе данных.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

TRUE, если объект существует в базе данных, иначе вернет FALSE.

Примеры

Пример 5.74. mysql_xdevapi\DatabaseObject::existsInDatabase

<?php
  $existInDb = $dbObj->existsInDatabase();
?>

5.17.2. DatabaseObject::getName

  • DatabaseObject::getName

    Получите имя объекта.

Описание

abstract public string mysql_xdevapi\DatabaseObject::getName();

Название этого объекта базы данных.

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Название этого объекта базы данных.

Примеры

Пример 5.75. mysql_xdevapi\DatabaseObject::getName

<?php
  $dbObjName = $dbObj->getName();
?>

5.17.3. DatabaseObject::getSession

  • DatabaseObject::getSession

    Получите имя сессии.

Описание

abstract public mysql_xdevapi\Session mysql_xdevapi\DatabaseObject::getSession();

Сессия, связанная с объектом базы данных.

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Объект Session.

Примеры

Пример 5.76. mysql_xdevapi\DatabaseObject::getSession

<?php
  $session = $dbObj->getSession();
?>

5.18. Класс DocResult

mysql_xdevapi\DocResult {mysql_xdevapi\DocResult,
      mysql_xdevapi\BaseResult, Traversable
  Methods public array mysql_xdevapi\DocResult::fetchAll();
  public array mysql_xdevapi\DocResult::fetchOne();
  public Array mysql_xdevapi\DocResult::getWarnings();
  public integer mysql_xdevapi\DocResult::getWarningsCount();
}

5.18.1. DocResult::__construct

  • DocResult::__construct

    Конструктор DocResult.

Описание

private mysql_xdevapi\DocResult::__construct();

Получает результаты и предупреждения для документа, экземпляр порождается CollectionFind.

Параметры

Эта функция не имеет параметров.

Примеры

Пример 5.77. DocResult

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $create = $schema->createCollection("people");
  $create->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
  $create->add('{"name": "Reginald", "age": 42, "job": "Butler"}')->execute();
  // ...
  $collection = $schema->getCollection("people");
  // Yields a DocResult object
  $result = $collection
    ->find('job like :job and age > :age')
    ->bind(['job' => 'Butler', 'age' => 16])
    ->sort('age desc')
    ->limit(1)
    ->execute();
  var_dump($result->fetchAll());
?>

Вышеупомянутый пример произведет что-то подобное:

array(1) {
  [0]=>
  array(4) {
    ["_id"]=>
    string(28) "00005b6b536100000000000000f3"
    ["age"]=>
    int(42)
    ["job"]=>
    string(6) "Butler"
    ["name"]=>
    string(8) "Reginald"
  }
}

5.18.2. DocResult::fetchAll

  • DocResult::fetchAll

    Получите все строки.

Описание

public array mysql_xdevapi\DocResult::fetchAll();

Получите все строки набора результатов.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Числовое множество со всеми результатами запроса, каждый результат это ассоциативный массив. Пустой массив возвращен, если никакие строки не присутствуют.

Примеры

Пример 5.78. mysql_xdevapi\DocResult::fetchAll

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $create = $schema->createCollection("people");
  $create->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
  $create->add('{"name": "Reginald", "age": 42, "job": "Butler"}')->execute();
  // ...
  $collection = $schema->getCollection("people");
  // Yields a DocResult object
  $result = $collection
    ->find('job like :job and age > :age')
    ->bind(['job' => 'Butler', 'age' => 16])
    ->sort('age desc')
    ->execute();
  var_dump($result->fetchAll());
?>

Вышеупомянутый пример произведет что-то подобное:

array(2) {
  [0]=>
  array(4) {
    ["_id"]=>
    string(28) "00005b6b53610000000000000123"
    ["age"]=>
    int(42)
    ["job"]=>
    string(6) "Butler"
    ["name"]=>
    string(8) "Reginald"
  }
  [1]=>
  array(4) {
    ["_id"]=>
    string(28) "00005b6b53610000000000000122"
    ["age"]=>
    int(18)
    ["job"]=>
    string(6) "Butler"
    ["name"]=>
    string(6) "Alfred"
  }
}

5.18.3. DocResult::fetchOne

  • DocResult::fetchOne

    Получите одну строку.

Описание

public array mysql_xdevapi\DocResult::fetchOne();

Получите одну строку набора результатов.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Результат как ассоциативный массив или NULL, если никакие результаты не присутствуют.

Примеры

Пример 5.79. mysql_xdevapi\DocResult::fetchOne

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $create = $schema->createCollection("people");
  $create->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
  $create->add('{"name": "Reginald", "age": 42, "job": "Butler"}')->execute();
  // ...
  $collection = $schema->getCollection("people");
  // Yields a DocResult object
  $result = $collection
    ->find('job like :job and age > :age')
    ->bind(['job' => 'Butler', 'age' => 16])
    ->sort('age desc')
    ->execute();
  var_dump($result->fetchOne());
?>

Вышеупомянутый пример произведет что-то подобное:

array(4) {
  ["_id"]=>
  string(28) "00005b6b53610000000000000125"
  ["age"]=>
  int(42)
  ["job"]=>
  string(6) "Butler"
  ["name"]=>
  string(8) "Reginald"
}

5.18.4. DocResult::getWarnings

  • DocResult::getWarnings

    Получите предупреждения от последней операции.

Описание

public Array mysql_xdevapi\DocResult::getWarnings();

Получите предупреждения, произведенные последним запросом к серверу.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Множество объектов Warning от последней операции. Каждый объект определяет сообщение 'message', уровень ошибки 'level', код ошибки 'code'. Пустой массив возвращен, если никакие ошибки не присутствуют.

Примеры

Пример 5.80. mysql_xdevapi\DocResult::getWarnings

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $create = $schema->createCollection("people");
  $create->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
  $create->add('{"name": "Reginald", "age": 42, "job": "Butler"}')->execute();
  // ...
  $collection = $schema->getCollection("people");
  // Yields a DocResult object
  $result = $collection
    ->find('job like :job and age > :age')
    ->bind(['job' => 'Butler', 'age' => 16])
    ->sort('age desc')
    ->execute();
  if (!$result->getWarningsCount()) {
     echo "There was an error:\n";
     print_r($result->getWarnings());
     exit;
  }
  var_dump($result->fetchOne());
?>

Вышеупомянутый пример произведет что-то подобное:

There was an error:
Array
(
  [0] => mysql_xdevapi\Warning Object
  (
    [message] => Something bad and so on
    [level] => 2
    [code] => 1365
  )
  [1] => mysql_xdevapi\Warning Object
  (
    [message] => Something bad and so on
    [level] => 2
    [code] => 1365
  )
)

5.18.5. DocResult::getWarningsCount

  • DocResult::getWarningsCount

    Возвращает количество предупреждений, поднятых последней операцией.

Описание

public integer mysql_xdevapi\DocResult::getWarningsCount();

Возвращает количество предупреждений, поднятых последней операцией. Определенно, эти предупреждения подняты сервером MySQL.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Количество предупреждений от последней операции.

Примеры

Пример 5.81. mysql_xdevapi\DocResult::getWarningsCount

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $create = $schema->createCollection("people");
  $create->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
  $create->add('{"name": "Reginald", "age": 42, "job": "Butler"}')->execute();
  // ...
  $collection = $schema->getCollection("people");
  // Yields a DocResult object
  $result = $collection
    ->find('job like :job and age > :age')
    ->bind(['job' => 'Butler', 'age' => 16])
    ->sort('age desc')
    ->execute();
  if (!$result->getWarningsCount()) {
     echo "There was an error:\n";
     print_r($result->getWarnings());
     exit;
  }
  var_dump($result->fetchOne());
?>

Вышеупомянутый пример произведет что-то подобное:

array(4) {
  ["_id"]=>
  string(28) "00005b6b53610000000000000135"
  ["age"]=>
  int(42)
  ["job"]=>
  string(6) "Butler"
  ["name"]=>
  string(8) "Reginald"
}

5.19. Класс Exception

mysql_xdevapi\Exception {mysql_xdevapi\Exception,
      extends RuntimeException, Throwable}

5.20. Интерфейс Executable

mysql_xdevapi\Executable {mysql_xdevapi\Executable
  Methodsabstract public mysql_xdevapi\Result mysql_xdevapi\Executable::execute();
}

5.20.1. Executable::execute

  • Executable::execute

    Выполните запрос.

Описание

abstract public mysql_xdevapi\Result mysql_xdevapi\Executable::execute();

Выполните запрос от операции с коллекцией или от запроса таблицы, эта функциональность позволяет создание цепочки методов.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Один из объектов Result, например, Result или SqlStatementResult.

Примеры

Пример 5.82. Вызов execute()

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $result_sql = $session->sql("CREATE DATABASE addressbook")->execute();
  var_dump($result_sql);
  $schema = $session->getSchema("addressbook");
  $collection = $schema->createCollection("humans");
  $result_collection = $collection->add('{"name": "Jane",
          "jobs": [{"title":"Scientist","Salary":18000},
          {"title":"Mother","Salary":0}],
          "hobbies": ["Walking","Making pies"]}');
  $result_collection_executed = $result_collection->execute();
  var_dump($result_collection);
  var_dump($result_collection_executed);
?>

Вышеупомянутый пример произведет что-то подобное:

object(mysql_xdevapi\SqlStatementResult)#3 (0) { }
object(mysql_xdevapi\CollectionAdd)#5 (0) { }
object(mysql_xdevapi\Result)#7 (0) { }

5.21. Класс ExecutionStatus

mysql_xdevapi\ExecutionStatus {mysql_xdevapi\ExecutionStatus
  Properties public affectedItems ;
  public matchedItems ;
  public foundItems ;
  public lastInsertId ;
  public lastDocumentId ;
  Constructor private mysql_xdevapi\ExecutionStatus::__construct();
}

affectedItems
matchedItems
foundItems
lastInsertId
lastDocumentId

5.21.1. ExecutionStatus::__construct

  • ExecutionStatus::__construct

    Конструктор ExecutionStatus.

Описание

private mysql_xdevapi\ExecutionStatus::__construct();

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Примеры

Пример 5.83. mysql_xdevapi\ExecutionStatus::__construct

<?php
  /* ... */
?>

5.22. Класс Expression

mysql_xdevapi\Expression {mysql_xdevapi\Expression
  Properties public name ;
  Constructor public mysql_xdevapi\Expression::__construct(string expression);
}

Имя

5.22.1. Expression::__construct

  • Expression::__construct

    Конструктор Expression.

Описание

public mysql_xdevapi\Expression::__construct(string expression);

Эта функция пока не документирована, есть только список параметров.

Параметры

expression

Примеры

Пример 5.84. mysql_xdevapi\Expression::__construct

<?php
  /* ... */
?>

5.23. Класс Result

mysql_xdevapi\Result {mysql_xdevapi\Result,
      mysql_xdevapi\BaseResult, Traversable
  Methods public int mysql_xdevapi\Result::getAffectedItemsCount();
  public int mysql_xdevapi\Result::getAutoIncrementValue();
  public array mysql_xdevapi\Result::getGeneratedIds();
  public array mysql_xdevapi\Result::getWarnings();
  public integer mysql_xdevapi\Result::getWarningsCount();
}

5.23.1. Result::__construct

  • Result::__construct

    Конструктор Result.

Описание

private mysql_xdevapi\Result::__construct();

Объект, который получает произведенные ID, значения AUTO_INCREMENT и предупреждения для набора Result.

Параметры

Эта функция не имеет параметров.

Примеры

Пример 5.85. mysql_xdevapi\Result::__construct

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $session->sql("CREATE TABLE addressbook.names
                   (id INT NOT NULL AUTO_INCREMENT, name VARCHAR(30),
                   age INT, PRIMARY KEY (id))")->execute();
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $result = $table->insert("name", "age")->values(["Suzanne", 31],["Julie", 43])->execute();
  $result = $table->insert("name", "age")->values(["Suki", 34])->execute();
  $ai = $result->getAutoIncrementValue();
  var_dump($ai);
?>

Вывод этого примера:

int(3)

5.23.2. Result::getAffectedItemsCount

  • Result::getAffectedItemsCount

    Получите затронутое количество строк.

Описание

public int mysql_xdevapi\Result::getAffectedItemsCount();

Получите количество строк, затронутых предыдущей операцией.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Число (как integer) затронутых строк.

Примеры

Пример 5.86. mysql_xdevapi\Result::getAffectedItemsCount

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $create = $schema->createCollection("people");
  $collection = $schema->getCollection("people");
  $result = $collection->add('{"name": "Wilma", "age": 23, "job": "Teacher"}')->execute();
  var_dump( $res->getAffectedItemsCount() );
?>

Вывод этого примера:

int(1)

5.23.3. Result::getAutoIncrementValue

  • Result::getAutoIncrementValue

    Получите значение autoincrement.

Описание

public int mysql_xdevapi\Result::getAutoIncrementValue();

Получите последнее значение AUTO_INCREMENT (последний id вставки).

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Получите значение AUTO_INCREMENT.

Примеры

Пример 5.87. mysql_xdevapi\Result::getAutoIncrementValue

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $session->sql("CREATE TABLE addressbook.names
                   (id INT NOT NULL AUTO_INCREMENT, name VARCHAR(30),
                   age INT, PRIMARY KEY (id))")->execute();
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $result = $table->insert("name", "age")->values(["Suzanne", 31],["Julie", 43])->execute();
  $result = $table->insert("name", "age")->values(["Suki", 34])->execute();
  $ai = $result->getAutoIncrementValue();
  var_dump($ai);
?>

Вывод этого примера:

int(3)

5.23.4. Result::getGeneratedIds

  • Result::getGeneratedIds

    Получите произведенные id.

Описание

public array mysql_xdevapi\Result::getGeneratedIds();

Получите произведенные значения _id от последней операции. Уникальное поле _id произведено сервером MySQL.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Множество произведенных _id от последней операции или пустой массив, если нет ни одного.

Примеры

Пример 5.88. mysql_xdevapi\Result::getGeneratedIds

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema = $session->getSchema("addressbook");
  $create = $schema->createCollection("people");
  $collection = $schema->getCollection("people");
  $result = $collection->add('{"name": "Bernie",
            "jobs": [{"title":"Cat Herder","Salary":42000},
            {"title":"Father","Salary":0}],
            "hobbies": ["Sports","Making cupcakes"]}',
            '{"name": "Jane", "jobs": [{"title":"Scientist","Salary":18000},
            {"title":"Mother","Salary":0}],
            "hobbies": ["Walking","Making pies"]}')->execute();
  $ids = $result->getGeneratedIds();
  var_dump($ids);
?>

Вышеупомянутый пример произведет что-то подобное:

array(2) {
  [0]=>
  string(28) "00005b6b53610000000000000064"
  [1]=>
  string(28) "00005b6b53610000000000000065"
}

5.23.5. Result::getWarnings

  • Result::getWarnings

    Получите предупреждения от последней операции.

Описание

public array mysql_xdevapi\Result::getWarnings();

Получите предупреждения от последней операции с Result.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Множество объектов Warning от последней операции. Каждый объект определяет код ошибки, ее уровень и сообщение. Пустой массив возвращен, если никакие ошибки не присутствуют.

Примеры

Пример 5.89. mysql_xdevapi\RowResult::getWarnings

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("CREATE DATABASE foo")->execute();
  $session->sql("CREATE TABLE foo.test_table(x int)")->execute();
  $schema = $session->getSchema("foo");
  $table= $schema->getTable("test_table");
  $table->insert(['x'])->values([1])->values([2])->execute();
  $res = $table->select(['x/0 as bad_x'])->execute();
  $warnings = $res->getWarnings();
  print_r($warnings);
?>

Вышеупомянутый пример произведет что-то подобное:

Array
(
  [0] => mysql_xdevapi\Warning Object
  (
    [message] => Division by 0
    [level] => 2
    [code] => 1365
  )
  [1] => mysql_xdevapi\Warning Object
  (
    [message] => Division by 0
    [level] => 2
    [code] => 1365
  )
)

5.23.6. Result::getWarningsCount

  • Result::getWarningsCount

    Получите количество предупреждений от последней операции.

Описание

public integer mysql_xdevapi\Result::getWarningsCount();

Получите количество предупреждений от последней операции.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Количество предупреждений, произведенных последней операцией.

Примеры

Пример 5.90. mysql_xdevapi\RowResult::getWarningsCount

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS foo")->execute();
  $session->sql("CREATE DATABASE foo")->execute();
  $session->sql("CREATE TABLE foo.test_table(x int)")->execute();
  $schema = $session->getSchema("foo");
  $table= $schema->getTable("test_table");
  $table->insert(['x'])->values([1])->values([2])->execute();
  $res = $table->select(['x/0 as bad_x'])->execute();
  echo $res->getWarningsCount();
?>

Вышеупомянутый пример произведет что-то подобное:

2

5.24. Класс RowResult

mysql_xdevapi\RowResult {mysql_xdevapi\RowResult,
      mysql_xdevapi\BaseResult, Traversable
  Methods public array mysql_xdevapi\RowResult::fetchAll();
  public array mysql_xdevapi\RowResult::fetchOne();
  public integer mysql_xdevapi\RowResult::getColumnsCount();
  public array mysql_xdevapi\RowResult::getColumnNames();
  public array mysql_xdevapi\RowResult::getColumns();
  public array mysql_xdevapi\RowResult::getWarnings();
  public integer mysql_xdevapi\RowResult::getWarningsCount();
}

5.24.1. RowResult::__construct

  • RowResult::__construct

    Конструктор RowResult.

Описание

private mysql_xdevapi\RowResult::__construct();

Представляет набор результатов, полученный из запроса к базе данных.

Параметры

Эта функция не имеет параметров.

Примеры

Пример 5.91. mysql_xdevapi\RowResult::__construct

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $row = $table->select('name', 'age')->where('age > 18')->execute()->fetchAll();
  print_r($row);
?>

Вышеупомянутый пример произведет что-то подобное:

Array
(
  [0] => Array
  (
    [name] => John
    [age] => 42
  )
  [1] => Array
  (
    [name] => Sam
    [age] => 33
  )
)

5.24.2. RowResult::fetchAll

  • RowResult::fetchAll

    Получите все строки результата.

Описание

public array mysql_xdevapi\RowResult::fetchAll();

Получите все строки результата.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Числовое множество со всеми следствиями запроса: каждый результат это ассоциативный массив. Пустой массив возвращен, если никакие строки не присутствуют.

Примеры

Пример 5.92. mysql_xdevapi\RowResult::fetchAll

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
  $session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $row = $table->select('name', 'age')->execute()->fetchAll();
  print_r($row);
?>

Вышеупомянутый пример произведет что-то подобное:

Array
(
  [0] => Array
  (
    [name] => John
    [age] => 42
  )
  [1] => Array
  (
    [name] => Sam
    [age] => 33
  )
)

5.24.3. RowResult::fetchOne

  • RowResult::fetchOne

    Получите строку результата.

Описание

public array mysql_xdevapi\RowResult::fetchOne();

Получите одну строку из результата.

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Результат как ассоциативный массив или NULL, если никакие результаты не присутствуют.

Примеры

Пример 5.93. mysql_xdevapi\RowResult::fetchOne

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
  $session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $row = $table->select('name', 'age')->where('age < 40')->execute()->fetchOne();
  print_r($row);
?>

Вышеупомянутый пример произведет что-то подобное:

Array
(
  [name] => Sam
  [age] => 33
)

5.24.4. RowResult::getColumnsCount

  • RowResult::getColumnsCount

    Получите количество столбцов.

Описание

public integer mysql_xdevapi\RowResult::getColumnsCount();

Получите количество столбцов для колонок, существующих в наборе результатов.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Количество колонок. 0, если нет ни одной.

Журнал изменений

Версия Описание
8.0.14 Метод переименован из getColumnCount() в getColumnsCount().

Примеры

Пример 5.94. mysql_xdevapi\RowResult::getColumnsCount

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE addressbook")->execute();
  $session->sql("CREATE DATABASE foo")->execute();
  $session->sql("CREATE TABLE foo.test_table(x int)")->execute();
  $session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
  $sql = $session->sql("SELECT * from addressbook.names")->execute();
  echo $sql->getColumnsCount();
?>

Вышеупомянутый пример произведет что-то подобное:

2

5.24.5. RowResult::getColumnNames

  • RowResult::getColumnNames

    Получите все имена столбцов.

Описание

public array mysql_xdevapi\RowResult::getColumnNames();

Получите все имена столбцов для колонок, существующих в наборе результатов.

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Числовое множество названий столбцов таблицы или пустой массив, если набор результатов пуст.

Примеры

Пример 5.95. mysql_xdevapi\RowResult::getColumnNames

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE addressbook")->execute();
  $session->sql("CREATE DATABASE foo")->execute();
  $session->sql("CREATE TABLE foo.test_table(x int)")->execute();
  $session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
  $sql = $session->sql("SELECT * from addressbook.names")->execute();
  $colnames = $sql->getColumnNames();
  print_r($colnames);
?>

Вышеупомянутый пример произведет что-то подобное:

Array
(
  [0] => name
  [1] => age
)

5.24.6. RowResult::getColumns

  • RowResult::getColumns

    Получите метаданные колонки.

Описание

public array mysql_xdevapi\RowResult::getColumns();

Получите метаданные колонки для колонок, существующих в наборе результатов.

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Множество объектов FieldMetadata, представляющих колонки в результате или пустой массив, если набор результатов пуст.

Примеры

Пример 5.96. mysql_xdevapi\RowResult::getColumns

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE addressbook")->execute();
  $session->sql("CREATE DATABASE foo")->execute();
  $session->sql("CREATE TABLE foo.test_table(x int)")->execute();
  $session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
  $sql = $session->sql("SELECT * from addressbook.names")->execute();
  $cols = $sql->getColumns();
  print_r($cols);
?>

Вышеупомянутый пример произведет что-то подобное:

Array
(
  [0] => mysql_xdevapi\FieldMetadata Object
  (
    [type] => 7
    [type_name] => BYTES
    [name] => name
    [original_name] => name
    [table] => names
    [original_table] => names
    [schema] => addressbook
    [catalog] => def
    [collation] => 255
    [fractional_digits] => 0
    [length] => 65535
    [flags] => 0
    [content_type] => 0
  )
  [1] => mysql_xdevapi\FieldMetadata Object
  (
    [type] => 1
    [type_name] => SINT
    [name] => age
    [original_name] => age
    [table] => names
    [original_table] => names
    [schema] => addressbook
    [catalog] => def
    [collation] => 0
    [fractional_digits] => 0
    [length] => 11
    [flags] => 0
    [content_type] => 0
  )
)

5.24.7. RowResult::getWarnings

  • RowResult::getWarnings

    Получите предупреждения от последней операции.

Описание

public array mysql_xdevapi\RowResult::getWarnings();

Получите предупреждения от последней операции RowResult.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Множество объектов Warning от последней операции. Каждый объект определяет код, уровень ошибки и сообщение. Пустой массив возвращен, если никакие ошибки не присутствуют.

Примеры

Пример 5.97. mysql_xdevapi\RowResult::getWarnings

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("CREATE DATABASE foo")->execute();
  $session->sql("CREATE TABLE foo.test_table(x int)")->execute();
  $schema = $session->getSchema("foo");
  $table= $schema->getTable("test_table");
  $table->insert(['x'])->values([1])->values([2])->execute();
  $res = $table->select(['x/0 as bad_x'])->execute();
  $warnings = $res->getWarnings();
  print_r($warnings);
?>

Вышеупомянутый пример произведет что-то подобное:

Array
(
  [0] => mysql_xdevapi\Warning Object
  (
    [message] => Division by 0
    [level] => 2
    [code] => 1365
  )
  [1] => mysql_xdevapi\Warning Object
  (
    [message] => Division by 0
    [level] => 2
    [code] => 1365
  )
)

5.24.8. RowResult::getWarningsCount

  • RowResult::getWarningsCount

    Получите количество предупреждений от последней операции.

Описание

public integer mysql_xdevapi\RowResult::getWarningsCount();

Получите количество предупреждений от последней операции RowResult.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Количество предупреждений, произведенных последней операцией.

Примеры

Пример 5.98. mysql_xdevapi\RowResult::getWarningsCount

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS foo")->execute();
  $session->sql("CREATE DATABASE foo")->execute();
  $session->sql("CREATE TABLE foo.test_table(x int)")->execute();
  $schema = $session->getSchema("foo");
  $table= $schema->getTable("test_table");
  $table->insert(['x'])->values([1])->values([2])->execute();
  $res = $table->select(['x/0 as bad_x'])->execute();
  echo $res->getWarningsCount();
?>

Вышеупомянутый пример произведет что-то подобное:

2

5.25. Класс Schema

mysql_xdevapi\Schema {mysql_xdevapi\Schema, mysql_xdevapi\DatabaseObject
  Properties public name ;
  Methods public mysql_xdevapi\Collection mysql_xdevapi\Schema::createCollection(string Имя);
  public bool mysql_xdevapi\Schema::dropCollection(string collection_name);
  public bool mysql_xdevapi\Schema::existsInDatabase();
  public mysql_xdevapi\Collection mysql_xdevapi\Schema::getCollection(string Имя);
  public mysql_xdevapi\Table mysql_xdevapi\Schema::getCollectionAsTable(string Имя);
  public array mysql_xdevapi\Schema::getCollections();
  public string mysql_xdevapi\Schema::getName();
  public mysql_xdevapi\Session mysql_xdevapi\Schema::getSession();
  public mysql_xdevapi\Table mysql_xdevapi\Schema::getTable(string Имя);
  public array mysql_xdevapi\Schema::getTables();
}

Имя

5.25.1. Schema::__construct

  • Schema::__construct

    Конструктор Schema.

Описание

private mysql_xdevapi\Schema::__construct();

Объект Schema обеспечивает полный доступ к схеме (базе данных).

Параметры

Эта функция не имеет параметров.

Примеры

Пример 5.99. Schema::__construct

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS food")->execute();
  $session->sql("CREATE DATABASE food")->execute();
  $session->sql("CREATE TABLE food.fruit(name text, rating text)")->execute();
  $schema = $session->getSchema("food");
  $schema->createCollection("trees");
  print_r($schema->gettables());
  print_r($schema->getcollections());

Вышеупомянутый пример произведет что-то подобное:

Array
(
  [fruit] => mysql_xdevapi\Table Object
  (
    [name] => fruit
  )
)

Array
(
  [trees] => mysql_xdevapi\Collection Object
  (
    [name] => trees
  )
)

5.25.2. Schema::createCollection

  • Schema::createCollection

    Добавьте коллекцию к схеме.

Описание

public mysql_xdevapi\Collection mysql_xdevapi\Schema::createCollection(string name);

Создайте коллекцию в рамках схемы.

Эта функция пока не документирована, есть только список параметров.

Параметры

name

Примеры

Пример 5.100. Schema::createCollection

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS food")->execute();
  $session->sql("CREATE DATABASE food")->execute();
  $session->sql("CREATE TABLE food.fruit(name text, rating text)")->execute();
  $schema = $session->getSchema("food");
  $schema->createCollection("trees");
  print_r($schema->gettables());
  print_r($schema->getcollections());
?>

Вышеупомянутый пример произведет что-то подобное:

Array
(
  [fruit] => mysql_xdevapi\Table Object
  (
    [name] => fruit
  )
)

Array
(
  [trees] => mysql_xdevapi\Collection Object
  (
    [name] => trees
  )
)

5.25.3. Schema::dropCollection

  • Schema::dropCollection

    Удалите коллекцию из схемы.

Описание

public bool mysql_xdevapi\Schema::dropCollection(string collection_name);

Эта функция пока не документирована, есть только список параметров.

Параметры

collection_name

Примеры

Пример 5.101. Schema::dropCollection

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS food")->execute();
  $session->sql("CREATE DATABASE food")->execute();
  $session->sql("CREATE TABLE food.fruit(name text, rating text)")->execute();
  $schema = $session->getSchema("food");
  $schema->createCollection("trees");
  $schema->dropCollection("trees");
  $schema->createCollection("buildings");
  print_r($schema->gettables());
  print_r($schema->getcollections());
?>

Вышеупомянутый пример произведет что-то подобное:

Array
(
  [fruit] => mysql_xdevapi\Table Object
  (
    [name] => fruit
  )
)

Array
(
  [buildings] => mysql_xdevapi\Collection Object
  (
    [name] => buildings
  )
)

5.25.4. Schema::existsInDatabase

  • Schema::existsInDatabase

    Проверьте, существует ли объект в базе данных.

Описание

public bool mysql_xdevapi\Schema::existsInDatabase();

Проверяет, существует ли текущий объект (схема, таблица, коллекция или представление) в объекте схемы.

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

TRUE, если схема, таблица, коллекция или представление существуют в схеме, иначе FALSE.

Примеры

Пример 5.102. Schema::existsInDatabase

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS food")->execute();
  $session->sql("CREATE DATABASE food")->execute();
  $session->sql("CREATE TABLE food.fruit(name text, rating text)")->execute();
  $schema = $session->getSchema("food");
  $schema->createCollection("trees");
  // ...
  $trees = $schema->getCollection("trees");
  // ...
  // Is this collection still in the database (schema)?
  if ($trees->existsInDatabase()) {
     echo "Yes, the 'trees' collection is still present.";
  }
?>

Вышеупомянутый пример произведет что-то подобное:

Yes, the 'trees' collection is still present.

5.25.5. Schema::getCollection

  • Schema::getCollection

    Получите коллекцию из схемы.

Описание

public mysql_xdevapi\Collection mysql_xdevapi\Schema::getCollection(string name);

Получите коллекцию из схемы.

Параметры

name

Имя коллекции, чтобы получить.

Возвращаемые значения

Объект Collection для отобранной коллекции.

Примеры

Пример 5.103. Schema::getCollection

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS food")->execute();
  $session->sql("CREATE DATABASE food")->execute();
  $schema = $session->getSchema("food");
  $schema->createCollection("trees");
  // ...
  $trees = $schema->getCollection("trees");
  var_dump($trees);
?>

Вышеупомянутый пример произведет что-то подобное:

object(mysql_xdevapi\Collection)#3 (1)
{
  ["name"]=>
  string(5) "trees"
}

5.25.6. Schema::getCollectionAsTable

  • Schema::getCollectionAsTable

    Получите объект таблицы коллекции.

Описание

public mysql_xdevapi\Table mysql_xdevapi\Schema::getCollectionAsTable(string Имя);

Получите коллекцию, но как объект Table вместо объекта Collection.

Параметры

name

Название коллекции для получеия как объект Table.

Возвращаемые значения

Объект table для коллекции.

Примеры

Пример 5.104. Schema::getCollectionAsTable

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema= $session->getSchema("addressbook");
  $collect = $schema->createCollection("people");
  $collect->add('{"name": "Fred","age": 21, "job": "Construction"}')->execute();
  $collect->add('{"name": "Wilma", "age": 23, "job": "Teacher"}')->execute();
  $table= $schema->getCollectionAsTable("people");
  $collection = $schema->getCollection("people");
  var_dump($table);
  var_dump($collection);
?>

Вышеупомянутый пример произведет что-то подобное:

object(mysql_xdevapi\Table)#4 (1)
{
  ["name"]=>
  string(6) "people"
}

object(mysql_xdevapi\Collection)#5 (1)
{
  ["name"]=>
  string(6) "people"
}

5.25.7. Schema::getCollections

  • Schema::getCollections

    Получите все коллекции схемы.

Описание

public array mysql_xdevapi\Schema::getCollections();

Получите список коллекций для этой схемы.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Множество всех коллекций в этой схеме, где каждое значение элемента матрицы это объект Collection с именем коллекции как ключ.

Примеры

Пример 5.105. mysql_xdevapi\Schema::getCollections

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema= $session->getSchema("addressbook");
  $collect = $schema->createCollection("people");
  $collect->add('{"name": "Fred","age": 21, "job": "Construction"}')->execute();
  $collect->add('{"name": "Wilma", "age": 23, "job": "Teacher"}')->execute();
  $collections = $schema->getCollections();
  var_dump($collections);
?>

Вышеупомянутый пример произведет что-то подобное:

array(1)
{
  ["people"]=>
  object(mysql_xdevapi\Collection)#4 (1)
  {
    ["name"]=>
    string(6) "people"
  }
}

5.25.8. Schema::getName

  • Schema::getName

    Получите название схемы.

Описание

public string mysql_xdevapi\Schema::getName();

Получите название схемы.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Название схемы, связанной с объектом схемы, как последовательность.

Примеры

Пример 5.106. mysql_xdevapi\Schema::getName

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema= $session->getSchema("addressbook");
  // ...
  var_dump($schema->getName());
?>

Вышеупомянутый пример произведет что-то подобное:

string(11) "addressbook"

5.25.9. Schema::getSession

  • Schema::getSession

    Получите сессию схемы.

Описание

public mysql_xdevapi\Session mysql_xdevapi\Schema::getSession();

Получите новый объект Session от объекта Schema.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Объект Session.

Примеры

Пример 5.107. mysql_xdevapi\Schema::getSession

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $schema= $session->getSchema("addressbook");
  // ...
  $newsession = $schema->getSession();
  var_dump($session);
  var_dump($newsession);
?>

Вышеупомянутый пример произведет что-то подобное:

object(mysql_xdevapi\Session)#1 (0) { }
object(mysql_xdevapi\Session)#3 (0) { }

5.25.10. Schema::getTable

  • Schema::getTable

    Получите таблицу схемы.

Описание

public mysql_xdevapi\Table mysql_xdevapi\Schema::getTable(string name);

Получите объект Table для обеспеченной таьлицы в схеме.

Параметры

name

Название таблицы.

Возвращаемые значения

Объект Table.

Примеры

Пример 5.108. mysql_xdevapi\Schema::getTable

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
  $session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $row = $table->select('name', 'age')->execute()->fetchAll();
  print_r($row);
?>

Вышеупомянутый пример произведет что-то подобное:

Array
(
  [0] => Array
  (
    [name] => John
    [age] => 42
  )
  [1] => Array
  (
    [name] => Sam
    [age] => 33
  )
)

5.25.11. Schema::getTables

  • Schema::getTables

    Получите таблицу схемы.

Описание

public array mysql_xdevapi\Schema::getTables();

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Множество всех таблиц в этой схеме, где каждое значение элемента матрицы это объект Table с именем таблицы как ключ.

Примеры

Пример 5.109. mysql_xdevapi\Schema::getTables

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
  $session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
  $session->sql("CREATE TABLE addressbook.cities(name text, population int)")->execute();
  $session->sql("INSERT INTO addressbook.names values ('Portland', 639863), ('Seattle', 704352)")->execute();
  $schema = $session->getSchema("addressbook");
  $tables = $schema->getTables();
  var_dump($tables);
?>

Вышеупомянутый пример произведет что-то подобное:

array(2)
{
  ["cities"]=>
  object(mysql_xdevapi\Table)#3 (1)
  {
    ["name"]=>
    string(6) "cities"
  }
  ["names"]=>
  object(mysql_xdevapi\Table)#4 (1)
  {
    ["name"]=>
    string(5) "names"
  }
}

5.26. Интерфейс SchemaObject

mysql_xdevapi\SchemaObject {mysql_xdevapi\SchemaObject,
      mysql_xdevapi\DatabaseObject
  Methodsabstract mysql_xdevapi\Schema mysql_xdevapi\SchemaObject::getSchema();
}

5.26.1. SchemaObject::getSchema

  • SchemaObject::getSchema

    Получите объект схемы.

Описание

abstract mysql_xdevapi\Schema mysql_xdevapi\SchemaObject::getSchema();

Используется другими объектами, чтобы получить объект схемы.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Текущий объект Schema.

Примеры

Пример 5.110. mysql_xdevapi\Session::getSchema

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $schema= $session->getSchema("addressbook");
  print_r($schema);
?>

Вышеупомянутый пример произведет что-то подобное:

mysql_xdevapi\Schema Object
(
  [name] => addressbook
)

5.27. Класс Session

mysql_xdevapi\Session {mysql_xdevapi\Session
  Methods public bool mysql_xdevapi\Session::close();
  public Object mysql_xdevapi\Session::commit();
  public mysql_xdevapi\Schema mysql_xdevapi\Session::createSchema(string schema_name);
  public bool mysql_xdevapi\Session::dropSchema(string schema_name);
  public string mysql_xdevapi\Session::generateUUID();
  public string mysql_xdevapi\Session::getDefaultSchema();
  public mysql_xdevapi\Schema mysql_xdevapi\Session::getSchema(string schema_name);
  public array mysql_xdevapi\Session::getSchemas();
  public integer mysql_xdevapi\Session::getServerVersion();
  public array mysql_xdevapi\Session::listClients();
  public string mysql_xdevapi\Session::quoteName(string Имя);
  public void mysql_xdevapi\Session::releaseSavepoint(string Имя);
  public void mysql_xdevapi\Session::rollback();
  public void mysql_xdevapi\Session::rollbackTo(string Имя);
  public string mysql_xdevapi\Session::setSavepoint(string Имя);
  public mysql_xdevapi\SqlStatement mysql_xdevapi\Session::sql(string query);
  public void mysql_xdevapi\Session::startTransaction();
}

5.27.1. Session::close

  • Session::close

    Закрыть сессию.

Описание

public bool mysql_xdevapi\Session::close();

Закрыть сессию с сервером.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

TRUE, если сессия закрыта.

Примеры

Пример 5.111. mysql_xdevapi\Session::close

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $session->close();
?>

5.27.2. Session::commit

  • Session::commit

    Передайте транзакцию.

Описание

public Object mysql_xdevapi\Session::commit();

Передайте транзакцию.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Объект SqlStatementResult.

Примеры

Пример 5.112. mysql_xdevapi\Session::commit

<?php
  $session= mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $collection = $session->getSchema("addressbook")->getCollection("friends");
  $session->startTransaction();
  $collection->add('{"John":42, "Sam":33}')->execute();
  $savepoint = $session->setSavepoint();
  $session->commit();
  $session->close();
?>

5.27.3. Session::__construct

  • Session::__construct

    Конструктор Description.

Описание

private mysql_xdevapi\Session::__construct();

Объект Session, порожденный getSession().

Параметры

Эта функция не имеет параметров.

Примеры

Пример 5.113. mysql_xdevapi\Session::__construct

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->close();
?>

5.27.4. Session::createSchema

  • Session::createSchema

    Создайте новую схему.

Описание

public mysql_xdevapi\Schema mysql_xdevapi\Session::createSchema(string schema_name);

Создайте новую схему.

Параметры

schema_name

Название схемы, чтобы создать.

Возвращаемые значения

Объект Schema при успехе, исключение при неудаче.

Примеры

Пример 5.114. mysql_xdevapi\Session::createSchema

<?php
  $uri= 'mysqlx://happyuser:password@127.0.0.1:33060/';
  $sess = mysql_xdevapi\getSession($uri);
  try {
    if ($schema = $sess->createSchema('fruit')) {
       echo "Info: I created a schema named 'fruit'\n";
    }
  } catch (Exception $e) {
    echo $e->getMessage();
  }
?>

Вышеупомянутый пример произведет что-то подобное:

Info: I created a schema named 'fruit'

5.27.5. Session::dropSchema

  • Session::dropSchema

    Удалить схему.

Описание

public bool mysql_xdevapi\Session::dropSchema(string schema_name);

Удалить схему.

Параметры

schema_name

Название схемы, чтобы удалить.

Возвращаемые значения

TRUE, если схема удалена, FALSE, если схема не существует или не может быть удалена.

Уровень ошибки E_WARNING произведен, если схема не существует.

Примеры

Пример 5.115. mysql_xdevapi\Session::dropSchema

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->dropSchema("addressbook");
  $session->close();
?>

5.27.6. Session::generateUUID

  • Session::generateUUID

    Получите новый UUID.

Описание

public string mysql_xdevapi\Session::generateUUID();

Произведите Universal Unique IDentifier (UUID), произведенный согласно RFC 4122.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

UUID, строка длиной 32.

Примеры

Пример 5.116. mysql_xdevapi\Session::generateUuid

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $uuid = $session->generateUuid();
  var_dump($uuid);
?>

Вышеупомянутый пример произведет что-то подобное:

string(32) "484B18AC7980F8D4FE84613CDA5EE84B"

5.27.7. Session::getDefaultSchema

  • Session::getDefaultSchema

    Получите название схемы по умолчанию.

Описание

public string mysql_xdevapi\Session::getDefaultSchema();

Получите название схемы по умолчанию, это, как правило, устанавливается в URI связи.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Название схемы по умолчанию, определенной связью, или NULL, если не установлено.

Примеры

Пример 5.117. mysql_xdevapi\Session::getSchema

<?php
  $uri = "mysqlx://testuser:testpasswd@localhost:33160/testx?ssl-mode=disabled";
  $session = mysql_xdevapi\getSession($uri);
  $schema = $session->getDefaultSchema();
  echo $schema;
?>

Вывод этого примера:

testx

5.27.8. Session::getSchema

  • Session::getSchema

    Получите новый объект схемы.

Описание

public mysql_xdevapi\Schema mysql_xdevapi\Session::getSchema(string schema_name);

Получите новый объект Schema для обеспеченного названия схемы.

Параметры

schema_name

Название схемы (базы данных), чтобы получить объект Schema.

Возвращаемые значения

Объект Schema.

Примеры

Пример 5.118. mysql_xdevapi\Session::getSchema

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $schema= $session->getSchema("addressbook");
  print_r($schema);
?>

Вышеупомянутый пример произведет что-то подобное:

mysql_xdevapi\Schema Object
(
  [name] => addressbook
)

5.27.9. Session::getSchemas

  • Session::getSchemas

    Получите схемы.

Описание

public array mysql_xdevapi\Session::getSchemas();

Получите объекты схемы для всех схем, доступных сессии.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Множество, содержащее объекты, которые представляют все схемы, доступные сессии.

Примеры

Пример 5.119. mysql_xdevapi\Session::getSchemas

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $schemas= $session->getSchemas();
  print_r($schemas);
?>

Вышеупомянутый пример произведет что-то подобное:

Array
(
  [0] => mysql_xdevapi\Schema Object
  (
    [name] => addressbook
  )
  [1] => mysql_xdevapi\Schema Object
  (
    [name] => information_schema
  )
  ...

5.27.10. Session::getServerВерсия

  • Session::getServerВерсия

    Получите версию сервера.

Описание

public integer mysql_xdevapi\Session::getServerVersion();

Получите версию сервера MySQL для сессии.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Версия сервера MySQL для сессии, как целое число, например, "80012".

Примеры

Пример 5.120. mysql_xdevapi\Session::getServerVersion

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $version = $session->getServerVersion();
  var_dump($version);
?>

Вышеупомянутый пример произведет что-то подобное:

int(80012)

5.27.11. Session::listClients

  • Session::listClients

    Получите список клиентов.

Описание

public array mysql_xdevapi\Session::listClients();

Получите список связей клиента с сервером MySQL сессии.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Множество, содержащее в настоящее время зарегистрированных клиентов. Элементы массива: "client_id", "user", "host" и "sql_session".

Примеры

Пример 5.121. mysql_xdevapi\Session::listClients

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $ids = $session->listClients();
  var_dump($ids);
?>

Вышеупомянутый пример произведет что-то подобное:

array(1)
{
  [0]=>
  array(4)
  {
    ["client_id"]=>
    int(61)
    ["user"]=>
    string(4) "root"
    ["host"]=>
    string(9) "localhost"
    ["sql_session"]=>
    int(72)
  }
}

5.27.12. Session::quoteName

  • Session::quoteName

    Добавьте кавычки.

Описание

public string mysql_xdevapi\Session::quoteName(string Имя);

Функция цитирования, чтобы экранировать имена SQL и идентификаторы. Это экранирует идентификаторы, данные в соответствии с параметрами настройки текущей связи. Эта функция не должна использоваться, чтобы экранировать значения.

Параметры

name

Последовательность, чтобы экранировать.

Возвращаемые значения

Экранированная последовательность.

Примеры

Пример 5.122. mysql_xdevapi\Session::quoteName

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $first = "MySQL's test";
  var_dump($first);
  var_dump($session->quoteName($first));
  $second = 'Another `test` "like" `this`';
  var_dump($second);
  var_dump($session->quoteName($second));
?>

Вышеупомянутый пример произведет что-то подобное:

string(12) "MySQL's test"
string(14) "`MySQL's test`"
string(28) "Another `test` "like" `this`"
string(34) "`Another ``test`` "like" ``this```"

5.27.13. Session::releaseSavepoint

  • Session::releaseSavepoint

    Освободите точку сохранения.

Описание

public void mysql_xdevapi\Session::releaseSavepoint(string Имя);

Освободите ранее заданную точку сохранения.

Параметры

name

Название точки сохранения.

Возвращаемые значения

Объект SqlStatementResult.

Примеры

Пример 5.123. mysql_xdevapi\Session::releaseSavepoint

<?php
  $session= mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $collection = $session->getSchema("addressbook")->getCollection("friends");
  $session->startTransaction();
  $collection->add( '{"test1":1, "test2":2}' )->execute();
  $savepoint = $session->setSavepoint();
  $collection->add( '{"test3":3, "test4":4}' )->execute();
  $session->releaseSavepoint($savepoint);
  $session->rollback();
?>

5.27.14. Session::rollback

  • Session::rollback

    Отмена транзакции.

Описание

public void mysql_xdevapi\Session::rollback();

Отмена транзакции.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Объект SqlStatementResult.

Примеры

Пример 5.124. mysql_xdevapi\Session::rollback

<?php
  $session= mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $collection = $session->getSchema("addressbook")->getCollection("names");
  $session->startTransaction();
  $collection->add( '{"test1":1, "test2":2}' )->execute();
  $savepoint = $session->setSavepoint();
  $collection->add( '{"test3":3, "test4":4}' )->execute();
  $session->releaseSavepoint($savepoint);
  $session->rollback();
?>

5.27.15. Session::rollbackTo

  • Session::rollbackTo

    Отмена транзакции к точке сохранения.

Описание

public void mysql_xdevapi\Session::rollbackTo(string name);

Отмена транзакции к точке сохранения.

Параметры

name

Название точки сохранения, нечувствительно к регистру.

Возвращаемые значения

Объект SqlStatementResult.

Примеры

Пример 5.125. mysql_xdevapi\Session::rollbackTo

<?php
  $session= mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $collection = $session->getSchema("addressbook")->getCollection("names");
  $session->startTransaction();
  $collection->add( '{"test1":1, "test2":2}' )->execute();
  $savepoint1 = $session->setSavepoint();
  $collection->add( '{"test3":3, "test4":4}' )->execute();
  $savepoint2 = $session->setSavepoint();
  $session->rollbackTo($savepoint1);
?>

5.27.16. Session::setSavepoint

  • Session::setSavepoint

    Создайте точку сохранения.

Описание

public string mysql_xdevapi\Session::setSavepoint(string Имя);

Создайте новую точку сохранения для транзакции.

Эта функция пока не документирована, есть только список параметров.

Параметры

name

Название точки сохранения. Имя создано, если дополнительный параметр name не определяется как 'SAVEPOINT1', 'SAVEPOINT2' и т. д.

Возвращаемые значения

Название точки сохранения.

Примеры

Пример 5.126. mysql_xdevapi\Session::setSavepoint

<?php
  $session= mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $collection = $session->getSchema("addressbook")->getCollection("names");
  $session->startTransaction();
  $collection->add( '{"test1":1, "test2":2}' )->execute();
  $savepoint = $session->setSavepoint();
  $collection->add( '{"test3":3, "test4":4}' )->execute();
  $session->releaseSavepoint($savepoint);
  $session->rollback();
?>

5.27.17. Session::sql

  • Session::sql

    Выполните SQL-запрос.

Описание

public mysql_xdevapi\SqlStatement mysql_xdevapi\Session::sql(string query);

Создайте SQL-оператор. Заполнители поддерживаются, используя синтаксис "?". Используйте метод execute, чтобы выполнить SQL-оператор.

Параметры

query

SQL-оператор, чтобы выполнить.

Возвращаемые значения

Объект SqlStatement.

Примеры

Пример 5.127. mysql_xdevapi\Session::sql

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("CREATE DATABASE addressbook")->execute();
?>

5.27.18. Session::startTransaction

  • Session::startTransaction

    Начните новую транзакцию.

Описание

public void mysql_xdevapi\Session::startTransaction();

Начните новую транзакцию.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Объект SqlStatementResult.

Примеры

Пример 5.128. mysql_xdevapi\Session::startTransaction

<?php
  $session= mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $collection = $session->getSchema("addressbook")->getCollection("friends");
  $session->startTransaction();
  $collection->add( '{"test1":1, "test2":2}' )->execute();
  $savepoint = $session->setSavepoint();
  $collection->add( '{"test3":3, "test4":4}' )->execute();
  $session->releaseSavepoint($savepoint);
  $session->rollback();
?>

5.28. Класс SqlStatement

mysql_xdevapi\SqlStatement {
  mysql_xdevapi\SqlStatement
  Constantsconst integer mysql_xdevapi\SqlStatement::EXECUTE_ASYNC = =1;
  const integer mysql_xdevapi\SqlStatement::BUFFERED = =2;
  Properties public statement ;
  Methods public mysql_xdevapi\SqlStatement mysql_xdevapi\SqlStatement::bind(string param);
  public mysql_xdevapi\Result mysql_xdevapi\SqlStatement::execute();
  public mysql_xdevapi\Result mysql_xdevapi\SqlStatement::getNextResult();
  public mysql_xdevapi\Result mysql_xdevapi\SqlStatement::getResult();
  public bool mysql_xdevapi\SqlStatement::hasMoreResults();
}

statement

mysql_xdevapi\SqlStatement::EXECUTE_ASYNC
mysql_xdevapi\SqlStatement::BUFFERED

5.28.1. SqlStatement::bind

  • SqlStatement::bind

    Свяжите параметры с оператором.

Описание

public mysql_xdevapi\SqlStatement mysql_xdevapi\SqlStatement::bind(string param);

Эта функция пока не документирована, есть только список параметров.

Параметры

param

Примеры

Пример 5.129. mysql_xdevapi\SqlStatement::bind

<?php
  /* ... */
?>

5.28.2. SqlStatement::__construct

  • SqlStatement::__construct

    Конструктор Description.

Описание

private mysql_xdevapi\SqlStatement::__construct();

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Примеры

Пример 5.130. mysql_xdevapi\SqlStatement::__construct

<?php
  /* ... */
?>

5.28.3. SqlStatement::execute

  • SqlStatement::execute

    Выполните операцию.

Описание

public mysql_xdevapi\Result mysql_xdevapi\SqlStatement::execute();

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Примеры

Пример 5.131. mysql_xdevapi\SqlStatement::execute

<?php
  /* ... */
?>

5.28.4. SqlStatement::getNextResult

  • SqlStatement::getNextResult

    Получите следующий результат.

Описание

public mysql_xdevapi\Result mysql_xdevapi\SqlStatement::getNextResult();

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Примеры

Пример 5.132. mysql_xdevapi\SqlStatement::getNextResult

<?php
  /* ... */
?>

5.28.5. SqlStatement::getResult

  • SqlStatement::getResult

    Получите результат.

Описание

public mysql_xdevapi\Result mysql_xdevapi\SqlStatement::getResult();

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Примеры

Пример 5.133. mysql_xdevapi\SqlStatement::getResult

<?php
  /* ... */
?>

5.28.6. SqlStatement::hasMoreResults

  • SqlStatement::hasMoreResults

    Проверьте на большее количество результатов.

Описание

public bool mysql_xdevapi\SqlStatement::hasMoreResults();

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

TRUE, если у набора результатов есть больше объектов для получения.

Примеры

Пример 5.134. mysql_xdevapi\SqlStatement::hasMoreResults

<?php
  /* ... */
?>

5.29. Класс SqlStatementResult

mysql_xdevapi\SqlStatementResult {
  mysql_xdevapi\SqlStatementResult, mysql_xdevapi\BaseResult, Traversable
  Methods public array mysql_xdevapi\SqlStatementResult::fetchAll();
  public array mysql_xdevapi\SqlStatementResult::fetchOne();
  public integer mysql_xdevapi\SqlStatementResult::getAffectedItemsCount();
  public integer mysql_xdevapi\SqlStatementResult::getColumnsCount();
  public array mysql_xdevapi\SqlStatementResult::getColumnNames();
  public Array mysql_xdevapi\SqlStatementResult::getColumns();
  public array mysql_xdevapi\SqlStatementResult::getGeneratedIds();
  public String mysql_xdevapi\SqlStatementResult::getLastInsertId();
  public array mysql_xdevapi\SqlStatementResult::getWarnings();
  public integer mysql_xdevapi\SqlStatementResult::getWarningCounts();
  public bool mysql_xdevapi\SqlStatementResult::hasData();
  public mysql_xdevapi\Result mysql_xdevapi\SqlStatementResult::nextResult();
}

5.29.1. SqlStatementResult::__construct

  • SqlStatementResult::__construct

    Конструктор Description.

Описание

private mysql_xdevapi\SqlStatementResult::__construct();

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Примеры

Пример 5.135. mysql_xdevapi\SqlStatementResult::__construct

<?php
  /* ... */
?>

5.29.2. SqlStatementResult::fetchAll

  • SqlStatementResult::fetchAll

    Получите все строки результата.

Описание

public array mysql_xdevapi\SqlStatementResult::fetchAll();

Получите все строки из набора результатов.

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Числовое множество со всеми результатами запроса, каждый результат это ассоциативный массив. Пустой массив возвращен, если никакие строки не присутствуют.

Примеры

Пример 5.136. mysql_xdevapi\SqlStatementResult::fetchAll

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS dbtest")->execute();
  $session->sql("CREATE DATABASE dbtest")->execute();
  $session->sql("CREATE TABLE dbtest.workers(name text, age int, job text)")->execute();
  $session->sql("INSERT INTO dbtest.workers values ('John', 42, 'bricklayer'), ('Sam', 33, 'carpenter')")->execute();
  $schema = $session->getSchema("dbtest");
  $table= $schema->getTable("workers");
  $rows = $session->sql("SELECT * FROM dbtest.workers")->execute()->fetchAll();
  print_r($rows);
?>

Вышеупомянутый пример произведет что-то подобное:

Array
(
  [0] => Array
  (
    [name] => John
    [age] => 42
  )
  [1] => Array
  (
    [name] => Sam
    [age] => 33
  )
)

5.29.3. SqlStatementResult::fetchOne

  • SqlStatementResult::fetchOne

    Получите единственную строку.

Описание

public array mysql_xdevapi\SqlStatementResult::fetchOne();

Получите единственную строку набора результатов.

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Результат как ассоциативный массив. В случае, если нет никакого результата, пустой указатель будет возвращен.

Примеры

Пример 5.137. mysql_xdevapi\SqlStatementResult::fetchOne

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS dbtest")->execute();
  $session->sql("CREATE DATABASE dbtest")->execute();
  $session->sql("CREATE TABLE dbtest.workers(name text, age int, job text)")->execute();
  $session->sql("INSERT INTO dbtest.workers values ('John', 42, 'bricklayer'), ('Sam', 33, 'carpenter')")->execute();
  $schema = $session->getSchema("dbtest");
  $table= $schema->getTable("workers");
  $rows = $session->sql("SELECT * FROM dbtest.workers")->execute()->fetchOne();
  print_r($rows);
?>

Вышеупомянутый пример произведет что-то подобное:

Array
(
  [name] => John
  [age] => 42
  [job] => bricklayer
)

5.29.4. SqlStatementResult::getAffectedItemsCount

  • SqlStatementResult::getAffectedItemsCount

    Получите количество затронутых строк.

Описание

public integer mysql_xdevapi\SqlStatementResult::getAffectedItemsCount();

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Примеры

Пример 5.138. mysql_xdevapi\SqlStatementResult::getAffectedItemsCount

<?php
  /* ... */
?>

5.29.5. SqlStatementResult::getColumnsCount

  • SqlStatementResult::getColumnsCount

    Получите количество столбцов.

Описание

public integer mysql_xdevapi\SqlStatementResult::getColumnsCount();

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Количество столбцов. 0, если нет ни одного.

Журнал изменений

Версия Описание
8.0.14 Метод переименован из getColumnCount() в getColumnsCount().

Примеры

Пример 5.139. mysql_xdevapi\SqlStatementResult::getColumnsCount

<?php
  /* ... */
?>

5.29.6. SqlStatementResult::getColumnNames

  • SqlStatementResult::getColumnNames

    Получите имена столбцов.

Описание

public array mysql_xdevapi\SqlStatementResult::getColumnNames();

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Примеры

Пример 5.140. mysql_xdevapi\SqlStatementResult::getColumnNames

<?php
  /* ... */
?>

5.29.7. SqlStatementResult::getColumns

  • SqlStatementResult::getColumns

    Получите колонки.

Описание

public Array mysql_xdevapi\SqlStatementResult::getColumns();

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Примеры

Пример 5.141. mysql_xdevapi\SqlStatementResult::getColumns

<?php
  /* ... */
?>

5.29.8. SqlStatementResult::getGeneratedIds

  • SqlStatementResult::getGeneratedIds

    Получите произведенные id.

Описание

public array mysql_xdevapi\SqlStatementResult::getGeneratedIds();

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Множество произведенных _id из последней операции или пустой массив, если нет ни одного.

Примеры

Пример 5.142. mysql_xdevapi\SqlStatementResult::getGeneratedIds

<?php
  /* ... */
?>

5.29.9. SqlStatementResult::getLastInsertId

  • SqlStatementResult::getLastInsertId

    Получите последний id вставки.

Описание

public String mysql_xdevapi\SqlStatementResult::getLastInsertId();

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

ID для последней операции вставки.

Примеры

Пример 5.143. mysql_xdevapi\SqlStatementResult::getLastInsertId

<?php
  /* ... */
?>

5.29.10. SqlStatementResult::getWarnings

  • SqlStatementResult::getWarnings

    Получите предупреждения от последней операции.

Описание

public array mysql_xdevapi\SqlStatementResult::getWarnings();

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Множество объектов Warning от последней операции. Каждый объект определяет код, уровень и сообщение об ошибке. Пустой массив возвращен, если никакие ошибки не присутствуют.

Примеры

Пример 5.144. mysql_xdevapi\SqlStatementResult::getWarnings

<?php
  /* ... */
?>

5.29.11. SqlStatementResult::getWarningsCount

  • SqlStatementResult::getWarningsCount

    Получите количество предупреждений от последней операции.

Описание

public integer mysql_xdevapi\SqlStatementResult::getWarningCounts();

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Число предупреждений во время последней операции CRUD.

Примеры

Пример 5.145. mysql_xdevapi\SqlStatementResult::getWarningsCount

<?php
  /* ... */
?>

5.29.12. SqlStatementResult::hasData

  • SqlStatementResult::hasData

    Проверьте, есть ли у результата данные.

Описание

public bool mysql_xdevapi\SqlStatementResult::hasData();

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

TRUE, если у набора результатов есть данные.

Примеры

Пример 5.146. mysql_xdevapi\SqlStatementResult::hasData

<?php
  /* ... */
?>

5.29.13. SqlStatementResult::nextResult

  • SqlStatementResult::nextResult

    Получите следующий результат.

Описание

public mysql_xdevapi\Result mysql_xdevapi\SqlStatementResult::nextResult();

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Следующий объект Result набора результатов.

Примеры

Пример 5.147. mysql_xdevapi\SqlStatementResult::nextResult

<?php
  /* ... */
?>

5.30. Класс Statement

mysql_xdevapi\Statement {
  mysql_xdevapi\Statement
  Constantsconst integer mysql_xdevapi\Statement::EXECUTE_ASYNC = =1;
  const integer mysql_xdevapi\Statement::BUFFERED = =2;
  Methods public mysql_xdevapi\Result mysql_xdevapi\Statement::getNextResult();
  public mysql_xdevapi\Result mysql_xdevapi\Statement::getResult();
  public bool mysql_xdevapi\Statement::hasMoreResults();
}

mysql_xdevapi\Statement::EXECUTE_ASYNC
mysql_xdevapi\Statement::BUFFERED

5.30.1. Statement::__construct

  • Statement::__construct

    Конструктор Description.

Описание

private mysql_xdevapi\Statement::__construct();

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Примеры

Пример 5.148. mysql_xdevapi\Statement::__construct

<?php
  /* ... */
?>

5.30.2. Statement::getNextResult

  • Statement::getNextResult

    Получите следующий результат.

Описание

public mysql_xdevapi\Result mysql_xdevapi\Statement::getNextResult();

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Примеры

Пример 5.149. mysql_xdevapi\Statement::getNextResult

<?php
  /* ... */
?>

5.30.3. Statement::getResult

  • Statement::getResult

    Получите результат.

Описание

public mysql_xdevapi\Result mysql_xdevapi\Statement::getResult();

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Примеры

Пример 5.150. mysql_xdevapi\Statement::getResult

<?php
  /* ... */
?>

5.30.4. Statement::hasMoreResults

  • Statement::hasMoreResults

    Проверьте, есть ли больше результатов.

Описание

public bool mysql_xdevapi\Statement::hasMoreResults();

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Примеры

Пример 5.151. mysql_xdevapi\Statement::hasMoreResults

<?php
  /* ... */
?>

5.31. Класс Table

Обеспечивает доступ к таблице через операторы INSERT/SELECT/UPDATE/DELETE.

mysql_xdevapi\Table {
  mysql_xdevapi\Table, mysql_xdevapi\SchemaObject
  Properties public name ;
  Methods public integer mysql_xdevapi\Table::count();
  public mysql_xdevapi\TableDelete mysql_xdevapi\Table::delete();
  public bool mysql_xdevapi\Table::existsInDatabase();
  public string mysql_xdevapi\Table::getName();
  public mysql_xdevapi\Schema mysql_xdevapi\Table::getSchema();
  public mysql_xdevapi\Session mysql_xdevapi\Table::getSession();
  public mysql_xdevapi\TableInsert mysql_xdevapi\Table::insert(mixed columns, mixed ...);
  public bool mysql_xdevapi\Table::isView();
  public mysql_xdevapi\TableSelect mysql_xdevapi\Table::select(mixed columns, mixed ...);
  public mysql_xdevapi\TableUpdate mysql_xdevapi\Table::update();
}

name

5.31.1. Table::__construct

  • Table::__construct

    Конструктор Table.

Описание

private mysql_xdevapi\Table::__construct();

Создает объект table.

Параметры

Эта функция не имеет параметров.

Примеры

Пример 5.152. mysql_xdevapi\Table::__construct

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
?>

5.31.2. Table::count

  • Table::count

    Получите количество строк.

Описание

public integer mysql_xdevapi\Table::count();

Получите число строк в таблице.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Общее количество строк в таблице.

Примеры

Пример 5.153. mysql_xdevapi\Table::count

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
  $session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  var_dump($table->count());
?>

Вывод этого примера:

int(2)

5.31.3. Table::delete

  • Table::delete

    Удалите строки из таблицы.

Описание

public mysql_xdevapi\TableDelete mysql_xdevapi\Table::delete();

Удалите строки из таблицы.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Объект TableDelete, используйте метод execute(), чтобы выполнить запрос на удаление.

Примеры

Пример 5.154. mysql_xdevapi\Table::delete

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
  $session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $table->delete()->where("name = :name")->orderby("age DESC")->limit(1)->bind(['name' => 'John'])->execute();
?>

5.31.4. Table::existsInDatabase

  • Table::existsInDatabase

    Проверьте, существует ли таблица в базе данных.

Описание

public bool mysql_xdevapi\Table::existsInDatabase();

Проверяет, существует ли этот таблица в базе данных.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

TRUE, если таблица существует в базе данных, иначе FALSE.

Примеры

Пример 5.155. mysql_xdevapi\Table::existsInDatabase

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
  $session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  if ($table->existsInDatabase()) {
     echo "Yes, this table still exists in the session's schema.";
  }
?>

Вышеупомянутый пример произведет что-то подобное:

Yes, this table still exists in the session's schema.

5.31.5. Table::getName

  • Table::getName

    Получите имя таблицы.

Описание

public string mysql_xdevapi\Table::getName();

Возвращает название этого объекта базы данных.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Название этого объекта базы данных.

Примеры

Пример 5.156. mysql_xdevapi\Table::getName

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
  $session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  var_dump($table->getName());
?>

Вышеупомянутый пример произведет что-то подобное:

  string(5) "names"

5.31.6. Table::getSchema

  • Table::getSchema

    Получите схему таблицы.

Описание

public mysql_xdevapi\Schema mysql_xdevapi\Table::getSchema();

Получите схему таблицы.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Объект Schema.

Примеры

Пример 5.157. mysql_xdevapi\Table::getSchema

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
  $session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  var_dump($table->getSchema());
?>

Вышеупомянутый пример произведет что-то подобное:

object(mysql_xdevapi\Schema)#9 (1) {
  ["name"]=>
  string(11) "addressbook"
}

5.31.7. Table::getSession

  • Table::getSession

    Получите сессию таблицы.

Описание

public mysql_xdevapi\Session mysql_xdevapi\Table::getSession();

Получите сессию таблицы.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Объект Session.

Примеры

Пример 5.158. mysql_xdevapi\Table::getSession

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
  $session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  var_dump($table->getSession());
?>

Вышеупомянутый пример произведет что-то подобное:

  object(mysql_xdevapi\Session)#9 (0) { }

5.31.8. Table::insert

  • Table::insert

    Вставляет строки в таблицу.

Описание

public mysql_xdevapi\TableInsert mysql_xdevapi\Table::insert(mixed columns, mixed ...);

Вставляет строки в таблицу.

Параметры

columns

Колонки, чтобы вставить данные. Может быть множество с одним или более значениями или последовательность.

...

Дополнительные определения столбцов.

Возвращаемые значения

Объект TableInsert, используйте метод execute(), чтобы выполнить запрос вставки.

Примеры

Пример 5.159. mysql_xdevapi\Table::insert

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
  $session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $table ->insert("name", "age")
    ->values(["Suzanne", 31],["Julie", 43])
    ->execute();
?>

5.31.9. Table::isView

  • Table::isView

    Проверьте, является ли таблица представлением.

Описание

public bool mysql_xdevapi\Table::isView();

Определите, является ли основной объект представлением или нет.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

TRUE, если основной объект представление, иначе FALSE.

Примеры

Пример 5.160. mysql_xdevapi\Table::isView

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
  $session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names
  if ($table->isView()) {
     echo "This is a view.";
  } else {
    echo "This is not a view.";
  }
?>

Вывод этого примера:

int(2)

5.31.10. Table::select

  • Table::select

    Выберите строки из таблицы.

Описание

public mysql_xdevapi\TableSelect mysql_xdevapi\Table::select(mixed columns, mixed ...);

Выберите строки из таблицы.

Параметры

columns

Колонки, чтобы выбрать данные. Может быть множеством с одним или более значениями или последовательностью.

...

Дополнительные определения параметра столбцов.

Возвращаемые значения

Объект TableSelect, используйте метод execute(), чтобы выполнить избранное и возвратить объект RowResult.

Примеры

Пример 5.161. mysql_xdevapi\Table::count

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
  $session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $row = $table->select('name', 'age')->execute()->fetchAll();
  print_r($row);
?>

Вышеупомянутый пример произведет что-то подобное:

Array
(
  [0] => Array
  (
    [name] => John
    [age] => 42
  )
  [1] => Array
  (
    [name] => Sam
    [age] => 33
  )
)

5.31.11. Table::update

  • Table::update

    Обновите строки в таблице.

Описание

public mysql_xdevapi\TableUpdate mysql_xdevapi\Table::update();

Обновите строки в таблице.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Объект TableUpdate, используйте метод execute(), чтобы выполнить запрос обновления.

Примеры

Пример 5.162. mysql_xdevapi\Table::update

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
  $session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $table->update()->set('age',34)->where('name = "Sam"')->limit(1)->execute();
?>

5.32. Класс TableDelete

Запрос для операции удаления на таблице.

mysql_xdevapi\TableDelete {
  mysql_xdevapi\TableDelete, mysql_xdevapi\Executable
  Methods public mysql_xdevapi\TableDelete mysql_xdevapi\TableDelete::bind(array placeholder_values);
  public mysql_xdevapi\Result mysql_xdevapi\TableDelete::execute();
  public mysql_xdevapi\TableDelete mysql_xdevapi\TableDelete::limit(integer rows);
  public mysql_xdevapi\TableDelete mysql_xdevapi\TableDelete::orderby(string orderby_expr);
  public mysql_xdevapi\TableDelete mysql_xdevapi\TableDelete::where(string where_expr);
}

5.32.1. TableDelete::bind

  • TableDelete::bind

    Свяжите параметры запроса на удаление.

Описание

public mysql_xdevapi\TableDelete mysql_xdevapi\TableDelete::bind(array placeholder_values);

Связывает значение с определенным заполнителем.

Параметры

placeholder_values

Название заполнителя и значение для привязки.

Возвращаемые значения

Объект TableDelete.

Примеры

Пример 5.163. mysql_xdevapi\TableDelete::bind

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
  $session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $table->delete()
    ->where("name = :name")
    ->bind(['name' => 'John'])
    ->orderby("age DESC")
    ->limit(1)
    ->execute();
?>

5.32.2. TableDelete::__construct

  • TableDelete::__construct

    Конструктор TableDelete.

Описание

private mysql_xdevapi\TableDelete::__construct();

Инициализируется при вызове методла delete().

Параметры

Эта функция не имеет параметров.

Примеры

Пример 5.164. mysql_xdevapi\TableDelete::__construct

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
  $session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $table->delete()
    ->where("name = :name")
    ->bind(['name' => 'John'])
    ->orderby("age DESC")
    ->limit(1)
    ->execute();
?>

5.32.3. TableDelete::execute

  • TableDelete::execute

    Выполните запрос на удаление.

Описание

public mysql_xdevapi\Result mysql_xdevapi\TableDelete::execute();

Выполните запрос на удаление.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Объект Result.

Примеры

Пример 5.165. mysql_xdevapi\TableDelete::execute

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
  $session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $table->delete()
    ->where("name = :name")
    ->bind(['name' => 'John'])
    ->orderby("age DESC")
    ->limit(1)
    ->execute();
?>

5.32.4. TableDelete::limit

  • TableDelete::limit

    Определяет максимальное число записей или документов, чтобы удалить.

Описание

public mysql_xdevapi\TableDelete mysql_xdevapi\TableDelete::limit(integer rows);

Определяет максимальное число записей или документов, чтобы удалить.

Параметры

rows

Максимальное количество записей или документов, чтобы удалить.

Возвращаемые значения

Объект TableDelete.

Примеры

Пример 5.166. mysql_xdevapi\TableDelete::limit

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
  $session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $table->delete()
    ->where("name = :name")
    ->bind(['name' => 'John'])
    ->orderby("age DESC")
    ->limit(1)
    ->execute();
?>

5.32.5. TableDelete::orderby

  • TableDelete::orderby

    Задать критерии сортировки.

Описание

public mysql_xdevapi\TableDelete mysql_xdevapi\TableDelete::orderby(string orderby_expr);

Задать критерии сортировки для набора результатов.

Параметры

orderby_expr

Определение критерия сортировки.

Возвращаемые значения

Объект TableDelete.

Примеры

Пример 5.167. mysql_xdevapi\TableDelete::orderBy

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $table->delete()
    ->where("age = :age")
    ->bind(['age' => 42])
    ->orderby("name DESC")
    ->limit(1)
    ->execute();
?>

5.32.6. TableDelete::where

  • TableDelete::where

    Задает условие поиска.

Описание

public mysql_xdevapi\TableDelete mysql_xdevapi\TableDelete::where(string where_expr);

Задает условие поиска.

Параметры

where_expr

Определите условие поиска, чтобы отфильтровать документы или записи.

Возвращаемые значения

Объект TableDelete.

Примеры

Пример 5.168. mysql_xdevapi\TableDelete::where

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $table->delete()
    ->where("id = :id")
    ->bind(['id' => 42])
    ->limit(1)
    ->execute();
?>

5.33. Класс TableInsert

Запрос для операций по вставке на таблице.

mysql_xdevapi\TableInsert {
  mysql_xdevapi\TableInsert, mysql_xdevapi\Executable
  Methods public mysql_xdevapi\Result mysql_xdevapi\TableInsert::execute();
  public mysql_xdevapi\TableInsert mysql_xdevapi\TableInsert::values(array row_values);
}

5.33.1. TableInsert::__construct

  • TableInsert::__construct

    Конструктор TableInsert.

Описание

private mysql_xdevapi\TableInsert::__construct();

Инициализуется при вызове метода insert().

Параметры

Эта функция не имеет параметров.

Примеры

Пример 5.169. mysql_xdevapi\TableInsert::__construct

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
  $session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $table
    ->insert("name", "age")
    ->values(["Suzanne", 31],["Julie", 43])
    ->execute();
?>

5.33.2. TableInsert::execute

  • TableInsert::execute

    Выполните запрос на вставку.

Описание

public mysql_xdevapi\Result mysql_xdevapi\TableInsert::execute();

Выполните запрос на вставку.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Объект Result.

Примеры

Пример 5.170. mysql_xdevapi\TableInsert::execute

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
  $session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $table
    ->insert("name", "age")
    ->values(["Suzanne", 31],["Julie", 43])
    ->execute();
?>

5.33.3. TableInsert::values

  • TableInsert::values

    Добавьте значения строки вставки.

Описание

public mysql_xdevapi\TableInsert mysql_xdevapi\TableInsert::values(array row_values);

Установите значения, которые будут вставлены.

Параметры

row_values

Значения (множество) столбцов, чтобы вставить.

Возвращаемые значения

Объект TableInsert.

Примеры

Пример 5.171. mysql_xdevapi\TableInsert::values

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
  $session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $table
    ->insert("name", "age")
    ->values(["Suzanne", 31],["Julie", 43])
    ->execute();
?>

5.34. Класс TableSelect

Запрос для поисковых операций на таблице.

mysql_xdevapi\TableSelect {
  mysql_xdevapi\TableSelect, mysql_xdevapi\Executable
  Methods public mysql_xdevapi\TableSelect mysql_xdevapi\TableSelect::bind(array placeholder_values);
  public mysql_xdevapi\RowResult mysql_xdevapi\TableSelect::execute();
  public mysql_xdevapi\TableSelect mysql_xdevapi\TableSelect::groupBy(mixed sort_expr);
  public mysql_xdevapi\TableSelect mysql_xdevapi\TableSelect::having(string sort_expr);
  public mysql_xdevapi\TableSelect mysql_xdevapi\TableSelect::limit(integer rows);
  public mysql_xdevapi\TableSelect mysql_xdevapi\TableSelect::lockExclusive(integer lock_waiting_option);
  public mysql_xdevapi\TableSelect mysql_xdevapi\TableSelect::lockShared(integer lock_waiting_option);
  public mysql_xdevapi\TableSelect mysql_xdevapi\TableSelect::offset(integer position);
  public mysql_xdevapi\TableSelect mysql_xdevapi\TableSelect::orderby(mixed sort_expr, mixed ...);
  public mysql_xdevapi\TableSelect mysql_xdevapi\TableSelect::where(string where_expr);
}

5.34.1. TableSelect::bind

  • TableSelect::bind

    Свяжите параметры запроса.

Описание

public mysql_xdevapi\TableSelect mysql_xdevapi\TableSelect::bind(array placeholder_values);

Связывает значение с определенным заполнителем.

Параметры

placeholder_values

Название заполнителя и значение, чтобы связать.

Возвращаемые значения

Объект TableSelect.

Примеры

Пример 5.172. mysql_xdevapi\TableSelect::bind

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $result = $table->select('name','age')
    ->where('name like :name and age > :age')
    ->bind(['name' => 'John', 'age' => 42])
    ->execute();
  $row = $result->fetchAll();
  print_r($row);
?>

Вышеупомянутый пример произведет что-то подобное:

Array
(
  [0] => Array
  (
    [name] => John
    [age] => 42
  )
)

5.34.2 TableSelect::__construct

  • TableSelect::__construct

    Конструктор TableSelect.

Описание

private mysql_xdevapi\TableSelect::__construct();

Объект возвращен методом select(), используйте execute(), чтобы выполнить запрос.

Параметры

Эта функция не имеет параметров.

Примеры

Пример 5.173. mysql_xdevapi\TableSelect::__construct

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
  $session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $result = $table->select('name','age')
    ->where('name like :name and age > :age')
    ->bind(['name' => 'John', 'age' => 42])
    ->orderBy('age desc')
    ->execute();
  $row = $result->fetchAll();
  print_r($row);
?>

Вышеупомянутый пример произведет что-то подобное:

Array
(
  [0] => Array
  (
    [name] => John
    [age] => 42
  )
)

5.34.3. TableSelect::execute

  • TableSelect::execute

    Выполните запрос select.

Описание

public mysql_xdevapi\RowResult mysql_xdevapi\TableSelect::execute();

Выполните запрос select.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Объект RowResult.

Примеры

Пример 5.174. mysql_xdevapi\TableSelect::execute

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $result = $table->select('name','age')
    ->where('name like :name and age > :age')
    ->bind(['name' => 'John', 'age' => 42])
    ->orderBy('age desc')
    ->execute();
  $row = $result->fetchAll();
?>

Вышеупомянутый пример произведет что-то подобное:

Array
(
  [0] => Array
  (
    [name] => John
    [age] => 42
  )
)

5.34.4. TableSelect::groupBy

  • TableSelect::groupBy

    Установите критерии группировки select.

Описание

public mysql_xdevapi\TableSelect mysql_xdevapi\TableSelect::groupBy(mixed sort_expr);

Установите критерии группировки select набора результатов.

Параметры

sort_expr

Критерии группировки.

Возвращаемые значения

Объект TableSelect.

Примеры

Пример 5.175. mysql_xdevapi\TableSelect::groupBy

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
  $session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 42)")->execute();
  $session->sql("INSERT INTO addressbook.names values ('Suki', 31)")->execute();
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $result = $table->select('count(*) as count', 'age')
    ->groupBy('age')->orderBy('age asc')
    ->execute();
  $row = $result->fetchAll();
  print_r($row);
?>

Вышеупомянутый пример произведет что-то подобное:

Array
(
  [0] => Array
  (
    [count] => 1
    [age] => 31
  )
  [1] => Array
  (
    [count] => 2
    [age] => 42
  )
)

5.34.5. TableSelect::having

  • TableSelect::having

    Установите выражение select having.

Описание

public mysql_xdevapi\TableSelect mysql_xdevapi\TableSelect::having( string sort_expr);

Установите условие для записей, чтобы рассмотреть в операциях по агрегатной функции.

Параметры

sort_expr

Условие на агрегатных функциях используется на критериях группировки.

Возвращаемые значения

Объект TableSelect.

Примеры

Пример 5.176. mysql_xdevapi\TableSelect::having

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
  $session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 42)")->execute();
  $session->sql("INSERT INTO addressbook.names values ('Suki', 31)")->execute();
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $result = $table->select('count(*) as count', 'age')
    ->groupBy('age')->orderBy('age asc')
    ->having('count > 1')
    ->execute();
  $row = $result->fetchAll();
  print_r($row);
?>

Вышеупомянутый пример произведет что-то подобное:

Array
(
  [0] => Array
  (
    [count] => 2
    [age] => 42
  )
)

5.34.6. TableSelect::limit

  • TableSelect::limit

    Ограничьте отобранные строки.

Описание

public mysql_xdevapi\TableSelect mysql_xdevapi\TableSelect::limit(integer rows);

Определяет максимальное количество записей или документов.

Параметры

rows

Максимальное количество записей или документов.

Возвращаемые значения

Объект TableSelect.

Примеры

Пример 5.177. mysql_xdevapi\TableSelect::limit

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $result = $table->select('name', 'age')
    ->limit(1)
    ->execute();
  $row = $result->fetchAll();
  print_r($row);
?>

Вышеупомянутый пример произведет что-то подобное:

Array
(
  [0] => Array
  (
    [name] => John
    [age] => 42
  )
)

5.34.7. TableSelect::lockExclusive

  • TableSelect::lockExclusive

    Выполните EXCLUSIVE LOCK.

Описание

public mysql_xdevapi\TableSelect mysql_xdevapi\TableSelect::lockExclusive(integer lock_waiting_option);

Выполните операцию чтения с EXCLUSIVE LOCK. Только одна блокировка может быть активна за один раз.

Параметры

lock_waiting_option

Дополнительный выбор ожидания, по умолчанию MYSQLX_LOCK_DEFAULT. Допустимые значения:

  • MYSQLX_LOCK_DEFAULT

  • MYSQLX_LOCK_NOWAIT

  • MYSQLX_LOCK_SKIP_LOCKED

Возвращаемые значения

Объект TableSelect.

Примеры

Пример 5.178. mysql_xdevapi\TableSelect::lockExclusive

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $session->startTransaction();
  $result = $table->select('name', 'age')
    ->lockExclusive(MYSQLX_LOCK_NOWAIT)
    ->execute();
  $session->commit();
  $row = $result->fetchAll();
  print_r($row);
?>

Вышеупомянутый пример произведет что-то подобное:

Array
(
  [0] => Array
  (
    [name] => John
    [age] => 42
  )
  [1] => Array
  (
    [name] => Sam
    [age] => 42
  )
)

5.34.8. TableSelect::lockShared

  • TableSelect::lockShared

    Выполните SHARED LOCK.

Описание

public mysql_xdevapi\TableSelect mysql_xdevapi\TableSelect::lockShared(integer lock_waiting_option);

Выполните операцию чтения с SHARED LOCK. Только одна блокировка может быть активна за один раз.

Параметры

lock_waiting_option

Дополнительный выбор ожидания, по умолчанию MYSQLX_LOCK_DEFAULT. Допустимые значения:

  • MYSQLX_LOCK_DEFAULT

  • MYSQLX_LOCK_NOWAIT

  • MYSQLX_LOCK_SKIP_LOCKED

Возвращаемые значения

Объект TableSelect.

Примеры

Пример 5.179. mysql_xdevapi\TableSelect::lockShared

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $session->startTransaction();
  $result = $table->select('name', 'age')
    ->lockShared(MYSQLX_LOCK_NOWAIT)
    ->execute();
  $session->commit();
  $row = $result->fetchAll();
  print_r($row);
?>

Вышеупомянутый пример произведет что-то подобное:

Array
(
  [0] => Array
  (
    [name] => John
    [age] => 42
  )
  [1] => Array
  (
    [name] => Sam
    [age] => 42
  )
)

5.34.9. TableSelect::offset

  • TableSelect::offset

    Задайте смещение лимита.

Описание

public mysql_xdevapi\TableSelect mysql_xdevapi\TableSelect::offset(integer position);

Пропустите заданное количество строк в результате.

Параметры

position

Собственно смещение лимита.

Возвращаемые значения

Объект TableSelect.

Примеры

Пример 5.180. mysql_xdevapi\TableSelect::offset

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
  $session->sql("CREATE DATABASE addressbook")->execute();
  $session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
  $session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 42)")->execute();
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $result = $table->select('name', 'age')
    ->limit(1)
    ->offset(1)
    ->execute();
  $row = $result->fetchAll();
  print_r($row);
?>

Вышеупомянутый пример произведет что-то подобное:

Array
(
  [0] => Array
  (
    [name] => Sam
    [age] => 42
  )
)

5.34.10. TableSelect::orderby

  • TableSelect::orderby

    Критерии сортировки select.

Описание

public mysql_xdevapi\TableSelect mysql_xdevapi\TableSelect::orderby(mixed sort_expr, mixed ...);

Критерии сортировки select.

Параметры

sort_expr

Выражения, которые определяют сортировку по критериям. Может быть множество с одним или более выражениями или последовательность.

...

Дополнительные параметры sort_expr.

Возвращаемые значения

Объект TableSelect.

Примеры

Пример 5.181. mysql_xdevapi\TableSelect::orderBy

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $result = $table->select('name', 'age')
    ->orderBy('name desc')
    ->execute();
  $row = $result->fetchAll();
  print_r($row);
?>

Вышеупомянутый пример произведет что-то подобное:

Array
(
  [0] => Array
  (
    [name] => Sam
    [age] => 42
  )
  [1] => Array
  (
    [name] => John
    [age] => 42
  )
)

5.34.11. TableSelect::where

  • TableSelect::where

    Устанавливает условие поиска.

Описание

public mysql_xdevapi\TableSelect mysql_xdevapi\TableSelect::where(string where_expr);

Устанавливает условие поиска.

Параметры

where_expr

Определите условие поиска, чтобы отфильтровать документы или записи.

Возвращаемые значения

Объект TableSelect.

Примеры

Пример 5.182. mysql_xdevapi\TableSelect::where

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $result = $table->select('name','age')
  ->where('name like :name and age > :age')
  ->bind(['name' => 'John', 'age' => 42])
  ->execute();
  $row = $result->fetchAll();
  print_r($row);
?>

Вышеупомянутый пример произведет что-то подобное:

Array
(
  [0] => Array
  (
    [name] => John
    [age] => 42
  )
)

5.35. Класс TableUpdate

Запрос для операций по обновлению на Table.

mysql_xdevapi\TableUpdate {mysql_xdevapi\TableUpdate,
                           mysql_xdevapi\Executable
                           Methods public mysql_xdevapi\TableUpdate
                           mysql_xdevapi\TableUpdate::bind
                           (array placeholder_values);
      public mysql_xdevapi\TableUpdate mysql_xdevapi\TableUpdate::execute();
      public mysql_xdevapi\TableUpdate mysql_xdevapi\TableUpdate::limit
             (integer rows);
      public mysql_xdevapi\TableUpdate mysql_xdevapi\TableUpdate::orderby
             (mixed orderby_expr, mixed ...);
      public mysql_xdevapi\TableUpdate mysql_xdevapi\TableUpdate::set
             (string table_field, string expression_or_literal);
      public mysql_xdevapi\TableUpdate mysql_xdevapi\TableUpdate::where
             (string where_expr);
}

5.35.1. TableUpdate::bind

  • TableUpdate::bind

    Свяжите параметры с запросом на обновление.

Описание

public mysql_xdevapi\TableUpdate mysql_xdevapi\TableUpdate::bind(array placeholder_values);

Связывает значение с определенным заполнителем.

Параметры

placeholder_values

Название заполнителя и значение, чтобы связать, определенные как множество JSON.

Возвращаемые значения

Объект TableUpdate.

Примеры

Пример 5.183. mysql_xdevapi\TableUpdate::bind

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $table->update()
    ->set('status', 'admin')
    ->where('name = :name and age > :age')
    ->bind(['name' => 'Bernie', 'age' => 2000])
    ->execute();
?>

5.35.2. TableUpdate::__construct

  • TableUpdate::__construct

    Конструктор TableUpdate.

Описание

private mysql_xdevapi\TableUpdate::__construct();

Экземпляр порождается методом update().

Параметры

Эта функция не имеет параметров.

Примеры

Пример 5.184. mysql_xdevapi\TableUpdate::__construct

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $res = $table->update()
    ->set('level', 3)
    ->where('age > 15 and age < 22')
    ->limit(4)
    ->orderby(['age asc','name desc'])
    ->execute();
?>

5.35.3. TableUpdate::execute

  • TableUpdate::execute

    Выполните запрос на обновление.

Описание

public mysql_xdevapi\TableUpdate mysql_xdevapi\TableUpdate::execute();

Выполните запрос на обновление.

Параметры

Эта функция не имеет параметров.

Возвращаемые значения

Объект TableUpdate.

Примеры

Пример 5.185. mysql_xdevapi\TableUpdate::execute

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $res = $table->update()
    ->set('level', 3)
    ->where('age > 15 and age < 22')
    ->limit(4)
    ->orderby(['age asc','name desc'])
    ->execute();
?>

5.35.4. TableUpdate::limit

  • TableUpdate::limit

    Ограничение числа обновляемых строк.

Описание

public mysql_xdevapi\TableUpdate mysql_xdevapi\TableUpdate::limit(integer rows);

Определите максимальное число обновляемых записей или документов.

Параметры

rows

Максимальное количество записей или документов для обновления.

Возвращаемые значения

Объект TableUpdate.

Примеры

Пример 5.186. mysql_xdevapi\TableUpdate::limit

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $res = $table->update()
    ->set('level', 3)
    ->where('age > 15 and age < 22')
    ->limit(4)
    ->orderby(['age asc','name desc'])
    ->execute();
?>

5.35.5. TableUpdate::orderby

  • TableUpdate::orderby

    Устанавливает критерии сортировки.

Описание

public mysql_xdevapi\TableUpdate mysql_xdevapi\TableUpdate::orderby (mixed orderby_expr, mixed ...);

Устанавливает критерии сортировки.

Параметры

orderby_expr

Выражения, которые определяют сортировку по критериям. Может быть множество с одним или более выражениями или последовательность.

...

Дополнительные параметры sort_expr.

Возвращаемые значения

Объект TableUpdate.

Примеры

Пример 5.187. mysql_xdevapi\TableUpdate::orderby

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $res = $table->update()
    ->set('level', 3)
    ->where('age > 15 and age < 22')
    ->limit(4)
    ->orderby(['age asc','name desc'])
    ->execute();
?>

5.35.6. TableUpdate::set

  • TableUpdate::set

    Добавьте поле, которое будет обновлено.

Описание

public mysql_xdevapi\TableUpdate mysql_xdevapi\TableUpdate::set (string table_field, string expression_or_literal);

Обновляет значение столбца на записях в таблице.

Параметры

table_field

Имя столбца, который будет обновлен.

expression_or_literal

Значение, которое будет установлено на указанной колонке.

Возвращаемые значения

Объект TableUpdate.

Примеры

Пример 5.188. mysql_xdevapi\TableUpdate::set

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $res = $table->update()
    ->set('level', 3)
    ->where('age > 15 and age < 22')
    ->limit(4)
    ->orderby(['age asc','name desc'])
    ->execute();
?>

5.35.7. TableUpdate::where

  • TableUpdate::where

    Установите фильтр поиска.

Описание

public mysql_xdevapi\TableUpdate mysql_xdevapi\TableUpdate::where (string where_expr);

Установите условие поиска.

Параметры

where_expr

Условие поиска, чтобы отфильтровать документы или записи.

Возвращаемые значения

Объект TableUpdate.

Примеры

Пример 5.189. mysql_xdevapi\TableUpdate::where

<?php
  $session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
  $schema = $session->getSchema("addressbook");
  $table= $schema->getTable("names");
  $res = $table->update()
    ->set('level', 3)
    ->where('age > 15 and age < 22')
    ->limit(4)
    ->orderby(['age asc','name desc'])
    ->execute();
?>

5.36. Класс Warning

mysql_xdevapi\Warning {mysql_xdevapi\Warning Properties public message ;
                       public level ; public code ;
                       Constructor private mysql_xdevapi\Warning::__construct ();}

message
level
code

5.36.1. Warning::__construct

  • Warning::__construct

    Конструктор Warning.

Описание

private mysql_xdevapi\Warning::__construct();

Эта функция пока не документирована, есть только список параметров.

Параметры

Эта функция не имеет параметров.

Примеры

Пример 5.190. mysql_xdevapi\Warning::__construct

<?php
  /* ... */
?>

Поиск

 

Найди своих коллег!

Вы можете направить письмо администратору этой странички, Алексею Паутову. mailto:alexey.v.pautov@mail.ru