Это расширение обеспечивает доступ к 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.
Это расширение требует сервер MySQL 8+ с включенным X plugin.
Необходимые как условие библиотеки для компилирования этого расширения: Boost (1.53.0 или выше), OpenSSL и Protobuf.
Расширение 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.
Поведение этих функций затронуто параметрами настройки в
php.ini
.
Таблица 5.1. Опции настройки Mysql_xdevapi
Имя | Умолчание | Изменяемая? | Журнал изменений |
---|---|---|---|
xmysqlnd.collect_memory_statistics | 0 | PHP_INI_SYSTEM | |
xmysqlnd.collect_statistics | 1 | PHP_INI_ALL | |
xmysqlnd.debug | PHP_INI_SYSTEM | ||
xmysqlnd.mempool_default_size | 16000 | PHP_INI_ALL | |
xmysqlnd.net_read_timeout | 31536000 | PHP_INI_SYSTEM | |
xmysqlnd.trace_alloc | PHP_INI_SYSTEM |
Вот короткое объяснение конфигурационных директив.
xmysqlnd.collect_memory_statistics
integerxmysqlnd.collect_statistics
integerxmysqlnd.debug
string
xmysqlnd.mempool_default_size
integerxmysqlnd.net_read_timeout
integerxmysqlnd.trace_alloc
stringСоображения для компилирования этого расширения из исходных текстов.
Имя расширения '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 и выше).
Мы рекомендуем использовать наклонную черту влево '\\' вместо '/' для всех путей.
Константы ниже определяются этим расширением и будут доступны только, когда расширение было собрано в 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)Центральная точка входа в 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.
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); ?>
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" }
mysql_xdevapi\BaseResult { mysql_xdevapi\BaseResult Methodsabstract public array mysql_xdevapi\BaseResult::getWarnings();
abstract public integer mysql_xdevapi\BaseResult::getWarningsCount();
}
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 ) )
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
Обеспечивает доступ к пулу связи.
mysql_xdevapi\Client { mysql_xdevapi\Client Methods public bool mysql_xdevapi\Client::close(); public mysql_xdevapi\Session mysql_xdevapi\Client::getSession(); }
mysql_xdevapi\Client::close
mysql_xdevapi\Client::close
Закрыть клиент.
Описание
public bool mysql_xdevapi\Client::close();Закройте все связи клиента с сервером.
Параметры
Эта функция не имеет параметров.
Возвращаемые значения
TRUE
, если связи закрываются.
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();
Client::getClient
Client::getClient
Получите сессию клиента.
Описание
public mysql_xdevapi\Session mysql_xdevapi\Client::getSession();Свяжите сессию с клиентом.
Параметры
Эта функция не имеет параметров.
Возвращаемые значения
Объект Session.
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
Collection::add
Collection::add
Добавьте документ в коллекцию.
Описание
public mysql_xdevapi\CollectionAdd mysql_xdevapi\Collection::add(mixed document);Вызывает вставку данного документа (документов) в коллекцию, поддерживаются многократные варианты этого метода. Варианты включают:
Добавьте единственный документ как последовательность JSON.
Добавьте единственный документ как множество:
['field' => 'value',
'field2' => 'value2' ... ]
.
Соединение обоих вариантов, многочисленные документы могут быть добавлены в той же самой операции.
Параметры
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.
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"}'); ?>
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 )
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)
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}');
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.
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?"; } ?>
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 ) )
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"
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 )
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" }
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) { }
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(); ?>
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(); ?>
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.
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); ?>
mysql_xdevapi\CollectionAdd { mysql_xdevapi\CollectionAdd, mysql_xdevapi\Executable Methods public mysql_xdevapi\Result mysql_xdevapi\CollectionAdd::execute(); }
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.
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 )
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); }
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" } }
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" } }
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" } }
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" } }
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(); ?>
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(); ?>
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" } }
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(); ?>
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(); ?>
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" } }
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" } }
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); }
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 ) ) )
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 ) ) )
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 ) ) )
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 ) ) )
CollectionModify::execute
CollectionModify::execute
Выполните операцию изменения.
Описание
public mysql_xdevapi\Result mysql_xdevapi\CollectionModify::execute();Метод требуется, чтобы отправить операционный запрос CRUD серверу MySQL.
Параметры
Эта функция не имеет параметров.
Возвращаемые значения
Объект Result, который может использоваться, чтобы проверить статус операции, такой как количество затронутых строк.
Примеры
Пример 5.44.
mysql_xdevapi\CollectionModify::execute
<?php /* ... */ ?>
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 ) )
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(); ?>
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 ) ) )
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 ) ) )
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(); ?>
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(); ?>
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(); ?>
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); }
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(); ?>
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(); ?>
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(); ?>
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(); ?>
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(); ?>
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(); }
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 ) )
ColumnResult::getCharacterSetName
ColumnResult::getCharacterSetName
Получите набор символов.
Описание
public string mysql_xdevapi\ColumnResult::getCharacterSetName();Эта функция пока не документирована, есть только список параметров.
Параметры
Эта функция не имеет параметров.
Возвращаемые значения
Примеры
Пример 5.58.
mysql_xdevapi\ColumnResult::getCharacterSetName
<?php /* ... */ ?>
ColumnResult::getCollationName
ColumnResult::getCollationName
Получите имя сопоставления.
Описание
public string mysql_xdevapi\ColumnResult::getCollationName();Эта функция пока не документирована, есть только список параметров.
Параметры
Эта функция не имеет параметров.
Возвращаемые значения
Примеры
Пример 5.59.
mysql_xdevapi\ColumnResult::getCollationName
<?php /* ... */ ?>
ColumnResult::getColumnLabel
ColumnResult::getColumnLabel
Получите метку столбца.
Описание
public string mysql_xdevapi\ColumnResult::getColumnLabel();Эта функция пока не документирована, есть только список параметров.
Параметры
Эта функция не имеет параметров.
Возвращаемые значения
Примеры
Пример 5.60.
mysql_xdevapi\ColumnResult::getColumnLabel
<?php /* ... */ ?>
ColumnResult::getColumnName
ColumnResult::getColumnName
Получите имя столбца.
Описание
public string mysql_xdevapi\ColumnResult::getColumnName();Эта функция пока не документирована, есть только список параметров.
Параметры
Эта функция не имеет параметров.
Возвращаемые значения
Примеры
Пример 5.61.
mysql_xdevapi\ColumnResult::getColumnName
<?php /* ... */ ?>
ColumnResult::getFractionalDigits
ColumnResult::getFractionalDigits
Получите длину дробной части.
Описание
public integer mysql_xdevapi\ColumnResult::getFractionalDigits();Вернет количество дробных цифр для колонки.
Эта функция пока не документирована, есть только список параметров.
Параметры
Эта функция не имеет параметров.
Возвращаемые значения
Примеры
Пример 5.62.
mysql_xdevapi\ColumnResult::getFractionalDigits
<?php /* ... */ ?>
ColumnResult::getLength
ColumnResult::getLength
Получите длину поля колонки.
Описание
public integer mysql_xdevapi\ColumnResult::getLength();Эта функция пока не документирована, есть только список параметров.
Параметры
Эта функция не имеет параметров.
Возвращаемые значения
Примеры
Пример 5.63.
mysql_xdevapi\ColumnResult::getLength
<?php /* ... */ ?>
ColumnResult::getSchemaName
ColumnResult::getSchemaName
Получите название схемы.
Описание
public string mysql_xdevapi\ColumnResult::getSchemaName();Вернет название схемы, где колонка сохранена.
Эта функция пока не документирована, есть только список параметров.
Параметры
Эта функция не имеет параметров.
Возвращаемые значения
Примеры
Пример 5.64.
mysql_xdevapi\ColumnResult::getSchemaName
<?php /* ... */ ?>
ColumnResult::getTableLabel
ColumnResult::getTableLabel
Получите метку таблицы.
Описание
public string mysql_xdevapi\ColumnResult::getTableLabel();Эта функция пока не документирована, есть только список параметров.
Параметры
Эта функция не имеет параметров.
Возвращаемые значения
Примеры
Пример 5.65.
mysql_xdevapi\ColumnResult::getTableLabel
<?php /* ... */ ?>
ColumnResult::getTableName
ColumnResult::getTableName
Получите имя таблицы.
Описание
public string mysql_xdevapi\ColumnResult::getTableName();Эта функция пока не документирована, есть только список параметров.
Параметры
Эта функция не имеет параметров.
Возвращаемые значения
Название таблицы для колонки.
Примеры
Пример 5.66.
mysql_xdevapi\ColumnResult::getTableName
<?php /* ... */ ?>
ColumnResult::getType
ColumnResult::getType
Получите тип столбца.
Описание
public integer mysql_xdevapi\ColumnResult::getType();Эта функция пока не документирована, есть только список параметров.
Параметры
Эта функция не имеет параметров.
Возвращаемые значения
Примеры
Пример 5.67.
mysql_xdevapi\ColumnResult::getType
<?php /* ... */ ?>
ColumnResult::isNumberSigned
ColumnResult::isNumberSigned
Тип со знаком?
Описание
public integer mysql_xdevapi\ColumnResult::isNumberSigned();Вернет информацию о колонке, экземпляр порождается методом RowResult::getColumns().
Эта функция пока не документирована, есть только список параметров.
Параметры
Эта функция не имеет параметров.
Возвращаемые значения
TRUE
, если данная колонка имеет
тип со знаком.
Примеры
Пример 5.68.
mysql_xdevapi\ColumnResult::isNumberSigned
<?php /* ... */ ?>
ColumnResult::isPadded
ColumnResult::isPadded
Есть ли дополнение?
Описание
public integer mysql_xdevapi\ColumnResult::isPadded();Эта функция пока не документирована, есть только список параметров.
Параметры
Эта функция не имеет параметров.
Возвращаемые значения
TRUE
, если столбец дополнен.
Примеры
Пример 5.69.
mysql_xdevapi\ColumnResult::isPadded
<?php /* ... */ ?>
mysql_xdevapi\CrudOperationBindable {mysql_xdevapi\CrudOperationBindable
Methodsabstract public mysql_xdevapi\CrudOperationBindable mysql_xdevapi\CrudOperationBindable::bind(array placeholder_values);
}
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(); ?>
mysql_xdevapi\CrudOperationLimitable {mysql_xdevapi\CrudOperationLimitable
Methodsabstract public mysql_xdevapi\CrudOperationLimitable
mysql_xdevapi\CrudOperationLimitable::limit(integer rows);
}
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(); ?>
mysql_xdevapi\CrudOperationSkippable {mysql_xdevapi\CrudOperationSkippable
Methodsabstract public mysql_xdevapi\CrudOperationSkippable
mysql_xdevapi\CrudOperationSkippable::skip(integer skip);
}
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(); ?>
mysql_xdevapi\CrudOperationSortable {mysql_xdevapi\CrudOperationSortable
Methodsabstract public mysql_xdevapi\CrudOperationSortable
mysql_xdevapi\CrudOperationSortable::sort(string sort_expr);
}
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(); ?>
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();
}
DatabaseObject::existsInDatabase
DatabaseObject::existsInDatabase
Проверьте, существует ли объект в базе данных.
Описание
abstract public bool mysql_xdevapi\DatabaseObject::existsInDatabase();
Проверяет, относится ли объект базы данных к объекту, который существует в базе данных.
Параметры
Эта функция не имеет параметров.
Возвращаемые значения
TRUE
, если объект существует в базе данных,
иначе вернет FALSE
.
Примеры
Пример 5.74.
mysql_xdevapi\DatabaseObject::existsInDatabase
<?php $existInDb = $dbObj->existsInDatabase(); ?>
DatabaseObject::getName
DatabaseObject::getName
Получите имя объекта.
Описание
abstract public string mysql_xdevapi\DatabaseObject::getName();
Название этого объекта базы данных.
Эта функция пока не документирована, есть только список параметров.
Параметры
Эта функция не имеет параметров.
Возвращаемые значения
Название этого объекта базы данных.
Примеры
Пример 5.75.
mysql_xdevapi\DatabaseObject::getName
<?php $dbObjName = $dbObj->getName(); ?>
DatabaseObject::getSession
DatabaseObject::getSession
Получите имя сессии.
Описание
abstract public mysql_xdevapi\Session mysql_xdevapi\DatabaseObject::getSession();
Сессия, связанная с объектом базы данных.
Эта функция пока не документирована, есть только список параметров.
Параметры
Эта функция не имеет параметров.
Возвращаемые значения
Объект Session.
Примеры
Пример 5.76.
mysql_xdevapi\DatabaseObject::getSession
<?php $session = $dbObj->getSession(); ?>
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(); }
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" } }
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" } }
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" }
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 ) )
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" }
mysql_xdevapi\Exception {mysql_xdevapi\Exception, extends RuntimeException, Throwable}
mysql_xdevapi\Executable {mysql_xdevapi\Executable
Methodsabstract public mysql_xdevapi\Result mysql_xdevapi\Executable::execute();
}
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) { }
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
ExecutionStatus::__construct
ExecutionStatus::__construct
Конструктор ExecutionStatus.
Описание
private mysql_xdevapi\ExecutionStatus::__construct();Эта функция пока не документирована, есть только список параметров.
Параметры
Эта функция не имеет параметров.
Примеры
Пример 5.83.
mysql_xdevapi\ExecutionStatus::__construct
<?php /* ... */ ?>
mysql_xdevapi\Expression {mysql_xdevapi\Expression Properties public name ; Constructor public mysql_xdevapi\Expression::__construct(string expression); }
Имя
Expression::__construct
Expression::__construct
Конструктор Expression.
Описание
public mysql_xdevapi\Expression::__construct(string expression);Эта функция пока не документирована, есть только список параметров.
Параметры
expression
Примеры
Пример 5.84.
mysql_xdevapi\Expression::__construct
<?php /* ... */ ?>
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(); }
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)
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)
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)
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" }
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 ) )
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
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(); }
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 ) )
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 ) )
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 )
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
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 )
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 ) )
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 ) )
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
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(); }
Имя
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 ) )
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 ) )
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 ) )
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.
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" }
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" }
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" } }
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"
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) { }
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 ) )
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" } }
mysql_xdevapi\SchemaObject {mysql_xdevapi\SchemaObject,
mysql_xdevapi\DatabaseObject
Methodsabstract mysql_xdevapi\Schema mysql_xdevapi\SchemaObject::getSchema();
}
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 )
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(); }
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(); ?>
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(); ?>
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(); ?>
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'
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(); ?>
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"
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
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 )
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 ) ...
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)
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) } }
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```"
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(); ?>
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(); ?>
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); ?>
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(); ?>
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(); ?>
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(); ?>
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
SqlStatement::bind
SqlStatement::bind
Свяжите параметры с оператором.
Описание
public mysql_xdevapi\SqlStatement mysql_xdevapi\SqlStatement::bind(string param);Эта функция пока не документирована, есть только список параметров.
Параметры
param
Примеры
Пример 5.129.
mysql_xdevapi\SqlStatement::bind
<?php /* ... */ ?>
SqlStatement::__construct
SqlStatement::__construct
Конструктор Description.
Описание
private mysql_xdevapi\SqlStatement::__construct();Эта функция пока не документирована, есть только список параметров.
Параметры
Эта функция не имеет параметров.
Примеры
Пример 5.130.
mysql_xdevapi\SqlStatement::__construct
<?php /* ... */ ?>
SqlStatement::execute
SqlStatement::execute
Выполните операцию.
Описание
public mysql_xdevapi\Result mysql_xdevapi\SqlStatement::execute();Эта функция пока не документирована, есть только список параметров.
Параметры
Эта функция не имеет параметров.
Примеры
Пример
5.131. mysql_xdevapi\SqlStatement::execute
<?php /* ... */ ?>
SqlStatement::getNextResult
SqlStatement::getNextResult
Получите следующий результат.
Описание
public mysql_xdevapi\Result mysql_xdevapi\SqlStatement::getNextResult();Эта функция пока не документирована, есть только список параметров.
Параметры
Эта функция не имеет параметров.
Примеры
Пример 5.132.
mysql_xdevapi\SqlStatement::getNextResult
<?php /* ... */ ?>
SqlStatement::getResult
SqlStatement::getResult
Получите результат.
Описание
public mysql_xdevapi\Result mysql_xdevapi\SqlStatement::getResult();Эта функция пока не документирована, есть только список параметров.
Параметры
Эта функция не имеет параметров.
Примеры
Пример 5.133.
mysql_xdevapi\SqlStatement::getResult
<?php /* ... */ ?>
SqlStatement::hasMoreResults
SqlStatement::hasMoreResults
Проверьте на большее количество результатов.
Описание
public bool mysql_xdevapi\SqlStatement::hasMoreResults();Эта функция пока не документирована, есть только список параметров.
Параметры
Эта функция не имеет параметров.
Возвращаемые значения
TRUE
, если у набора результатов есть
больше объектов для получения.
Примеры
Пример 5.134.
mysql_xdevapi\SqlStatement::hasMoreResults
<?php /* ... */ ?>
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(); }
SqlStatementResult::__construct
SqlStatementResult::__construct
Конструктор Description.
Описание
private mysql_xdevapi\SqlStatementResult::__construct();Эта функция пока не документирована, есть только список параметров.
Параметры
Эта функция не имеет параметров.
Примеры
Пример 5.135.
mysql_xdevapi\SqlStatementResult::__construct
<?php /* ... */ ?>
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 ) )
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 )
SqlStatementResult::getAffectedItemsCount
SqlStatementResult::getAffectedItemsCount
Получите количество затронутых строк.
Описание
public integer mysql_xdevapi\SqlStatementResult::getAffectedItemsCount();Эта функция пока не документирована, есть только список параметров.
Параметры
Эта функция не имеет параметров.
Примеры
Пример 5.138.
mysql_xdevapi\SqlStatementResult::getAffectedItemsCount
<?php /* ... */ ?>
SqlStatementResult::getColumnsCount
SqlStatementResult::getColumnsCount
Получите количество столбцов.
Описание
public integer mysql_xdevapi\SqlStatementResult::getColumnsCount();Эта функция пока не документирована, есть только список параметров.
Параметры
Эта функция не имеет параметров.
Возвращаемые значения
Количество столбцов. 0, если нет ни одного.
Журнал изменений
Версия | Описание |
---|---|
8.0.14 | Метод переименован из getColumnCount() в getColumnsCount(). |
Примеры
Пример 5.139.
mysql_xdevapi\SqlStatementResult::getColumnsCount
<?php /* ... */ ?>
SqlStatementResult::getColumnNames
SqlStatementResult::getColumnNames
Получите имена столбцов.
Описание
public array mysql_xdevapi\SqlStatementResult::getColumnNames();Эта функция пока не документирована, есть только список параметров.
Параметры
Эта функция не имеет параметров.
Примеры
Пример 5.140.
mysql_xdevapi\SqlStatementResult::getColumnNames
<?php /* ... */ ?>
SqlStatementResult::getColumns
SqlStatementResult::getColumns
Получите колонки.
Описание
public Array mysql_xdevapi\SqlStatementResult::getColumns();Эта функция пока не документирована, есть только список параметров.
Параметры
Эта функция не имеет параметров.
Примеры
Пример
5.141.
mysql_xdevapi\SqlStatementResult::getColumns
<?php /* ... */ ?>
SqlStatementResult::getGeneratedIds
SqlStatementResult::getGeneratedIds
Получите произведенные id.
Описание
public array mysql_xdevapi\SqlStatementResult::getGeneratedIds();Эта функция пока не документирована, есть только список параметров.
Параметры
Эта функция не имеет параметров.
Возвращаемые значения
Множество произведенных _id из последней операции или пустой массив, если нет ни одного.
Примеры
Пример 5.142.
mysql_xdevapi\SqlStatementResult::getGeneratedIds
<?php /* ... */ ?>
SqlStatementResult::getLastInsertId
SqlStatementResult::getLastInsertId
Получите последний id вставки.
Описание
public String mysql_xdevapi\SqlStatementResult::getLastInsertId();Эта функция пока не документирована, есть только список параметров.
Параметры
Эта функция не имеет параметров.
Возвращаемые значения
ID для последней операции вставки.
Примеры
Пример 5.143.
mysql_xdevapi\SqlStatementResult::getLastInsertId
<?php /* ... */ ?>
SqlStatementResult::getWarnings
SqlStatementResult::getWarnings
Получите предупреждения от последней операции.
Описание
public array mysql_xdevapi\SqlStatementResult::getWarnings();Эта функция пока не документирована, есть только список параметров.
Параметры
Эта функция не имеет параметров.
Возвращаемые значения
Множество объектов Warning от последней операции. Каждый объект определяет код, уровень и сообщение об ошибке. Пустой массив возвращен, если никакие ошибки не присутствуют.
Примеры
Пример 5.144.
mysql_xdevapi\SqlStatementResult::getWarnings
<?php /* ... */ ?>
SqlStatementResult::getWarningsCount
SqlStatementResult::getWarningsCount
Получите количество предупреждений от последней операции.
Описание
public integer mysql_xdevapi\SqlStatementResult::getWarningCounts();Эта функция пока не документирована, есть только список параметров.
Параметры
Эта функция не имеет параметров.
Возвращаемые значения
Число предупреждений во время последней операции CRUD.
Примеры
Пример 5.145.
mysql_xdevapi\SqlStatementResult::getWarningsCount
<?php /* ... */ ?>
SqlStatementResult::hasData
SqlStatementResult::hasData
Проверьте, есть ли у результата данные.
Описание
public bool mysql_xdevapi\SqlStatementResult::hasData();Эта функция пока не документирована, есть только список параметров.
Параметры
Эта функция не имеет параметров.
Возвращаемые значения
TRUE
, если у набора
результатов есть данные.
Примеры
Пример 5.146.
mysql_xdevapi\SqlStatementResult::hasData
<?php /* ... */ ?>
SqlStatementResult::nextResult
SqlStatementResult::nextResult
Получите следующий результат.
Описание
public mysql_xdevapi\Result mysql_xdevapi\SqlStatementResult::nextResult();Эта функция пока не документирована, есть только список параметров.
Параметры
Эта функция не имеет параметров.
Возвращаемые значения
Следующий объект Result набора результатов.
Примеры
Пример 5.147.
mysql_xdevapi\SqlStatementResult::nextResult
<?php /* ... */ ?>
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
Statement::__construct
Statement::__construct
Конструктор Description.
Описание
private mysql_xdevapi\Statement::__construct();Эта функция пока не документирована, есть только список параметров.
Параметры
Эта функция не имеет параметров.
Примеры
Пример 5.148.
mysql_xdevapi\Statement::__construct
<?php /* ... */ ?>
Statement::getNextResult
Statement::getNextResult
Получите следующий результат.
Описание
public mysql_xdevapi\Result mysql_xdevapi\Statement::getNextResult();Эта функция пока не документирована, есть только список параметров.
Параметры
Эта функция не имеет параметров.
Примеры
Пример 5.149.
mysql_xdevapi\Statement::getNextResult
<?php /* ... */ ?>
Statement::getResult
Statement::getResult
Получите результат.
Описание
public mysql_xdevapi\Result mysql_xdevapi\Statement::getResult();Эта функция пока не документирована, есть только список параметров.
Параметры
Эта функция не имеет параметров.
Примеры
Пример 5.150.
mysql_xdevapi\Statement::getResult
<?php /* ... */ ?>
Statement::hasMoreResults
Statement::hasMoreResults
Проверьте, есть ли больше результатов.
Описание
public bool mysql_xdevapi\Statement::hasMoreResults();Эта функция пока не документирована, есть только список параметров.
Параметры
Эта функция не имеет параметров.
Примеры
Пример 5.151. mysql_xdevapi\Statement::hasMoreResults
<?php /* ... */ ?>
Обеспечивает доступ к таблице через операторы 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
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"); ?>
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)
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(); ?>
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.
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"
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" }
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) { }
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(); ?>
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)
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 ) )
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(); ?>
Запрос для операции удаления на таблице.
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); }
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(); ?>
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(); ?>
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(); ?>
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(); ?>
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(); ?>
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(); ?>
Запрос для операций по вставке на таблице.
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); }
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(); ?>
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(); ?>
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(); ?>
Запрос для поисковых операций на таблице.
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); }
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 ) )
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 ) )
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 ) )
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 ) )
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 ) )
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 ) )
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 ) )
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 ) )
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 ) )
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 ) )
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 ) )
Запрос для операций по обновлению на 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); }
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(); ?>
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(); ?>
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(); ?>
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(); ?>
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(); ?>
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(); ?>
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(); ?>
mysql_xdevapi\Warning {mysql_xdevapi\Warning Properties public message ; public level ; public code ; Constructor private mysql_xdevapi\Warning::__construct ();}
message
level
code
Warning::__construct
Warning::__construct
Конструктор Warning.
Описание
private mysql_xdevapi\Warning::__construct();Эта функция пока не документирована, есть только список параметров.
Параметры
Эта функция не имеет параметров.
Примеры
Пример 5.190.
mysql_xdevapi\Warning::__construct
<?php /* ... */ ?>