WebMoney: WMZ Z294115950220 WMR R409981405661 WME E134003968233 |
Visa 4274 3200 2453 6495 |
Это расширение обеспечивает доступ к 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: Информация для установки этого расширения PECL может быть найдена
здесь.
Дополнительная информация, такая как новые выпуски, загрузки, исходные файлы,
информация о поддержке и CHANGELOG, может быть расположена здесь:
https://pecl.php.net/package/mysql_xdevapi. Поведение этих функций затронуто параметрами настройки в
Таблица 5.1. Опции настройки Mysql_xdevapi Вот короткое объяснение конфигурационных директив. Соображения для компилирования этого расширения из исходных текстов. Имя расширения 'mysql_xdevapi', используйте
Boost: необходимо, используйте опцию --with-boost=DIR или
установите переменную окружения MYSQL_XDEVAPI_BOOST_ROOT.
Только заголовочные файлы boost нужны, двоичные модули не требуются. Google Protocol Buffers (protobuf): необходимо, используйте опцию
--with-protobuf=DIR или установите переменную окружения. Произвольно используйте Замечание о 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 или динамически загружено
во время выполнения. Центральная точка входа в X DevAPI это функция
Пример 5.1. Соединение с MySQL Server Сессия обеспечивает полный доступ к API. Для новой установки MySQL Server
первый шаг должен создать схему базы данных с коллекцией,
чтобы хранить данные: Пример 5.2. Создание схемы и коллекции на MySQL Server Храня данные, как правило, используется
Следующий пример хранит данные в коллекции, которую мы создали ранее, а
затем получает их часть. Пример 5.3. Сохранение и получение данных Вышеупомянутый пример произведет что-то подобное: Пример демонстрирует, что MySQL Server добавляет дополнительную область,
названную Пример также демонстрирует, что восстановленные данные сортированы в
алфавитном порядке. Этот определенный порядок происходит
из эффективного двоичного хранения в сервере MySQL, но на это нельзя
положиться. Обратитесь к документации типа данных MySQL JSON для деталей. Произвольно используйте итераторы PHP для получения многих документов: Пример 5.4. Получение многих документов Вышеупомянутый пример произведет что-то подобное: Свяжите переменные подготовленного запроса с параметрами. Описание Эта функция пока не документирована, есть только список параметров. Параметры Примеры Пример 5.5.
Соединитесь с сервером MySQL. Описание Соединитесь с сервером MySQL. Параметры URI к серверу MySQL, такой как
Формат для URI: В mysql_xdevapi всегда 'mysqlx' (для X Protocol). * TCP-соединение (имя хоста, адрес IPv4 или IPv6). * Путь сокета Unix (местный путь к файлу). * Именованный канал Windows (местный путь к файлу). По умолчанию порт для X Protocol = 33060. Передайте положительное целое число, чтобы определить тайм-аут связи в
секундах или 0, чтобы чтобы отключить тайм-аут. Не определение значения
использует значение по умолчанию 10. Связанные переменные окружения MYSQLX_CONNECTION_TIMEOUT (тайм-аут в
секундах) и MYSQLX_TEST_CONNECTION_TIMEOUT (используется, запуская тесты)
могут устанавливаться и использоваться вместо connect-timeout в URI.
Опция connect-timeout в URI имеет приоритет перед
этими переменными окружения. Пример 5.6. Примеры URI См. MySQL Shell's
Connecting using a URI String. Возвращаемые значения Объект Исключения Неудача связи бросает Примеры Пример 5.7.
Вышеупомянутый пример произведет что-то подобное: Получает предупреждения от последней операции. Описание Получает предупреждения, произведенные последней
операцией MySQL server. Параметры Эта функция не имеет параметров. Возвращаемые значения Множество объектов Warning
от последней операции. Каждый объект определяет для ошибки
'message', 'level' и 'code'. Пустой массив возвращен, если никакие
ошибки не произошли. Примеры Пример 5.8.
Вышеупомянутый пример произведет что-то подобное: Счетчик предупреждений от последней операции. Описание Возвращает количество предупреждений, поднятых последней операцией.
Эти предупреждения подняты сервером MySQL. Параметры Эта функция не имеет параметров. Возвращаемые значения Счетчик предупреждений от последней операции. Примеры Пример 5.9.
Вышеупомянутый пример произведет что-то подобное: Обеспечивает доступ к пулу связи. Закрыть клиент. Описание Закройте все связи клиента с сервером. Параметры Эта функция не имеет параметров. Возвращаемые значения Конструктор Client. Описание Конструктор объекта client. Параметры Эта функция не имеет параметров. Примеры Пример 5.10.
Получите сессию клиента. Описание Свяжите сессию с клиентом. Параметры Эта функция не имеет параметров. Возвращаемые значения Объект Session. Добавьте документ в коллекцию. Описание Вызывает вставку данного документа (документов) в коллекцию,
поддерживаются многократные варианты этого метода. Варианты включают: Добавьте единственный документ
как последовательность JSON. Добавьте единственный документ как множество:
Соединение обоих вариантов, многочисленные документы могут быть
добавлены в той же самой операции. Параметры Один или многочисленные документы, это может быть JSON
или множеством полей с их присваиваемыми значениями.
Это не может быть пустым массивом. MySQL server автоматически производит уникальный
Возвращаемые значения Объект CollectionAdd. Примените execute(), чтобы возвратить Result,
который может использоваться, чтобы запросить количество затронутых
элементов, число предупреждений, произведенных операцией, или получить список
произведенных ID для вставленных документов. Примеры Пример 5.11.
Вышеупомянутый пример произведет что-то подобное: Примечания Уникальный _id произведен MySQL Server 8.0
как продемонстрировано в примере. Поле _id
должно быть вручную определено, используя MySQL Server 5.7. Добавьте или замените документ в коллекции. Описание Добавьте новый документ или замените документ, если он уже существует. Вот несколько сценариев для этого метода: Если нет id или конфликта значений уникального ключа
с любым документом в коллекции, то документ добавляется. Если id не соответствует никакому документу, но
есть конфликт значений уникального ключа с документом в коллекции,
то ошибка поднята. Если id соответствует существующему документу, и никакие уникальные
ключи не определяются для коллекции, то документ заменяется. Если id соответствует существующему документу, все уникальные ключи
в документе замены соответствуют тому же самому документу, или они не
находятся в противоречии ни с какими другими документами в коллекции,
то документ заменяется. Если id соответствует существующему документу и один или более
уникальных ключей соответствуют иному документу из коллекции,
то ошибка поднята. Параметры Это id фильтра. Если этот id или другое поле, у которого есть
уникальный индекс, будут существовать в коллекции, то это
обновит соответствующий документ. По умолчанию этот id автоматически произведен MySQL Server, когда
запись была добавлена и ссылается как '_id'. Это документ, чтобы добавить или заменить, который
является последовательностью JSON. Возвращаемые значения Объект Result. Примеры Пример 5.12.
Конструктор объекта Collection. Описание Конструктор объекта Collection. Параметры Эта функция не имеет параметров. Примеры Пример 5.13.
Вышеупомянутый пример произведет что-то подобное: Получите количество документов. Описание Эта функциональность подобна SQL-запросу
Параметры Эта функция не имеет параметров. Возвращаемые значения Количество документов в коллекции. Примеры Пример 5.14.
Вышеупомянутый пример произведет: Создайте индекс коллекции. Описание Создает индекс коллекции. Исключение брошено, если индекс с тем же самым именем уже существует, или
если определение индекса правильно не сформировано. Параметры Название индекса, чтобы создать. Это имя должно быть действительным
именем индекса, как принято в запросе SQL
Определение индекса, чтобы создать. Это содержит множество объектов
IndexField, каждый объект описывает участника единого документа, чтобы
включать в индекс и дополнительную последовательность для типа индекса,
которая может быть INDEX (по умолчанию) или SPATIAL. Единственное описание IndexField состоит из следующих полей: Ошибка включать другие области, не описанные выше, в
IndexDefinition или IndexField. Примеры Пример 5.15.
Удалить индекс коллекции. Описание Удалить индекс коллекции. Эта операция не приводит к ошибке, если индекс не существует, но
в этой ситуации вернет Параметры Название индекса коллекции, чтобы удалить. Возвращаемые значения Примеры Пример 5.16.
Вышеупомянутый пример произведет: Проверьте, существует ли коллекция в базе данных. Описание Проверка, что объект Collection относится к коллекции в
базе данных (схеме). Параметры Эта функция не имеет параметров. Возвращаемые значения Вернет Примеры Пример 5.17.
Поиск документа. Описание Просматривает коллекцию в базе данных, чтобы найти
документ или набор документов. Найденные документы возвращены, как объект
CollectionFind, чтобы далее изменить или получить результаты. Параметры Хотя дополнительный, обычно условие определяется, чтобы ограничить
результаты подмножеством документов. Многократные элементы могли бы построить условие, и синтаксис поддерживает
привязку параметров. Выражение, используемое в качестве условия поиска,
должно быть действительным SQL-выражением. Если никакое условие поиска не
обеспечивается (пустое поле), тогда предполагается find('true'). Возвращаемые значения Объект CollectionFind, чтобы проверить операцию или
получить найденные документы. Примеры Пример 5.18.
Вышеупомянутый пример произведет: Получите имя коллекции. Описание Получите имя коллекции. Параметры Эта функция не имеет параметров. Возвращаемые значения Имя коллекции как последовательность. Примеры Пример 5.19.
Вышеупомянутый пример произведет что-то подобное: Получите один документ. Описание Получите один документ из коллекции. Это сокращение для: Параметры Документ _id в коллекции. Возвращаемые значения Объект коллекции или Примеры Пример 5.20.
Вышеупомянутый пример произведет что-то подобное: Получите объект схемы. Описание Получает объект схемы, которая содержит коллекцию. Параметры Эта функция не имеет параметров. Возвращаемые значения Объект схемы при успехе или Примеры
Пример 5.21. Вышеупомянутый пример произведет что-то подобное: Получите объект сессии. Описание Получите объект сессии Session из объекта Collection. Параметры Эта функция не имеет параметров. Возвращаемые значения Объект Session. Примеры Пример 5.22.
Вышеупомянутый пример произведет что-то подобное: Измените документы коллекции. Описание Измените документы, которые удовлетворяют определенным условиям поиска.
Многократные операции позволены, и привязка параметров поддерживается. Параметры Должно быть действительным SQL-выражением, используемым, чтобы
соответствовать документам, чтобы изменить.
Это выражение могло бы быть столь же простым как
Возвращаемые значения Если операция не будет выполнена, то функция возвратит объект
Modify, который может использоваться, чтобы добавить
дополнительные операции изменения. Если операция будет выполнена, то возвращенный объект будет
содержать результат операции. Примеры Пример 5.23.
Удалите документы из коллекции. Описание Удалите документы из коллекции, которые соответствуют
определенным условиям поиска. Многократные операции позволены,
привязка параметров поддерживается. Параметры Должно быть действительным SQL-выражением, используемым, чтобы
соответствовать документам, чтобы изменить.
Это выражение могло бы быть столь же простым как
Возвращаемые значения Если операция не будет выполнена, то функция возвратит
объект Remove, который может использоваться, чтобы добавить параметры. Если операция будет выполнена, то возвращенный объект будет
содержать результат операции. Примеры Пример 5.24.
Удалите один документ из коллекции. Описание Удалите один документ из коллекции с указанным ID. Это сокращение для
Параметры ID документа коллекции, чтобы удалить. Как правило, это _id,
который был произведен MySQL Server, когда запись была добавлена.
Возвращаемые значения Объект Result, который может использоваться, чтобы запросить
количество затронутых элементов или число
предупреждений, произведенных операцией. Примеры Пример 5.25.
Вышеупомянутый пример произведет что-то подобное: Замените один документ коллекции. Описание Замените (или обновите) один документ коллекции, определенный ID,
если он существует. Параметры ID документа, чтобы заменить или обновить. Как правило, это _id,
который был произведен MySQL Server, когда запись был добавлена. Документ коллекции, чтобы обновить или заменить документ,
соответствующий Этот документ может быть объектом документа или действительной
последовательностью JSON, описывающей новый документ. Возвращаемые значения Объект Result, который может использоваться, чтобы запросить
количество затронутых элементов и число
предупреждений, произведенных операцией. Примеры Пример 5.26.
Конструктор CollectionAdd. Описание Используйте, чтобы добавить документ в коллекцию, вызван
из объекта Collection. Параметры Эта функция не имеет параметров. Примеры Пример 5.27.
Вышеупомянутый пример произведет что-то подобное: Примечания Уникальный _id произведен MySQL Server 8.0
или выше, как продемонстрировано в примере. Поле _id должно
быть вручную определено, используя MySQL Server 5.7. Выполните запрос. Описание Этот метод отправляет операционный запрос CRUD серверу MySQL. Параметры Эта функция не имеет параметров. Возвращаемые значения Объект Result, который может использоваться, чтобы проверить статус
операции, такой как количество затронутых строк. Примеры Пример 5.28.
Вышеупомянутый пример произведет что-то подобное: Привязывает значение к параметру запроса. Описание Это позволяет пользователю связывать параметр с заполнителем в условии
поиска операции. У заполнителя есть форма :NAME, где ':' это
общий префикс, который должен всегда существовать перед любым NAME,
NAME это имя заполнителя. Функция принимает список заполнителей, если
параметры нужно подставить в условия поиска. Параметры Значения, чтобы занять место в условии поиска
многократные значения позволены и передаются как множество где
"PLACEHOLDER_NAME => PLACEHOLDER_VALUE". Возвращаемые значения Объект CollectionFind или цепочка с execute(), чтобы
возвратить объект Result. Примеры Пример 5.29.
Вышеупомянутый пример произведет что-то подобное: Конструктор CollectionFind. Описание Эта функция пока
не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Примеры Пример 5.30. CollectionFind Вышеупомянутый пример произведет что-то подобное: Выполните запрос. Описание Выполните операцию поиска, эта функциональность
позволяет цепочку методов. Параметры Эта функция не имеет параметров. Возвращаемые значения Объект DocResult, который позволяет получить результат или
запросить статус операции. Примеры Пример 5.31. CollectionFind Вышеупомянутый пример произведет что-то подобное: Установите фильтр области документа. Описание Определение колонки для возврата запросом. Если не определена, тогда
все колонки используются. Параметры Может быть единственной последовательностью или множеством
последовательностей, которые определяют колонки, которые должны быть
возвращены для каждого документа, которые соответствуют условию поиска.
Возвращаемые значения Объект CollectionFind, который может использоваться
для последующей обработки. Примеры Пример 5.32.
Вышеупомянутый пример произведет что-то подобное: Задает критерии группировки. Описание Эта функция может использоваться, чтобы сгруппировать набор результатов,
часто это используется с такими агрегатными функциями как
COUNT, MAX, MIN, SUM. Параметры Колонка или колонки, которые должны использоваться для операции
группы, это может быть единственной последовательностью или множеством
аргументов строки, по одному для каждой колонки. Возвращаемые значения CollectionFind, который может использоваться
для последующей обработки. Примеры Пример 5.33.
Установите условие для агрегатных функций. Описание Эта функция может использоваться после 'полевой' операции, чтобы сделать
выбор на документах для извлечения. Параметры Это должно быть действительным SQL-выражением, использование
функций агрегации позволено. Возвращаемые значения Объект CollectionFind, который может использоваться
для последующей обработки. Примеры Пример 5.34.
Количество возвращенных документов. Описание Определите максимальное число возвращаемых документов. Параметры Максимальное количество документов. Возвращаемые значения Объект CollectionFind, который может использоваться для дополнительной
обработки, цепочка методов execute(), чтобы возвратить объект DocResult. Примеры Пример 5.35.
Вышеупомянутый пример произведет что-то подобное: Выполните операцию с EXCLUSIVE LOCK. Описание Исключительно блокирует документ, другие транзакции заблокированы на
обновление документа, пока документ блокирован. В то время как документ,
блокирован другие транзакции заблокированы на обновление документов при
выполнении SELECT ... LOCK IN SHARE MODE или чтения данных на определенных
уровнях изоляции транзакции. Последовательное чтение игнорирует любой набор
блокировок на записях, которые существуют в прочитанном представлении. Эта особенность непосредственно полезна с командой modify(),
чтобы избежать проблем параллелизма. В основном это преобразовывает в
последовательную форму доступ к строке посредством захвата строки. Параметры Дополнительный выбор ожидания. По умолчанию это
Возвращаемые значения Объект CollectionFind, который может использоваться
для последующей обработки. Примеры Пример 5.36.
Выполните операцию с SHARED LOCK. Описание Позволяет разделять документы между многими транзакциями, которые
блокируют в режиме разделения. Другие сессии могут прочитать строки, но не могут изменить их, пока ваша
транзакция не передает изменения. Если какая-либо из этих строк была изменена другой транзакцией, которая
еще не передала данные, ваш запрос ждет до завершения той транзакции, а затем
использует последние данные. Параметры Дополнительный выбор ожидания. По умолчанию это
Возвращаемые значения Объект CollectionFind, который может использоваться
для последующей обработки. Примеры Пример 5.37.
Пропустите данное число элементов. Описание Пропустите число элементов, которые иначе были бы возвращены операцией
поиска. Используйте с методом limit(). Определение пропуска больше, чем размер набора результатов,
приводит к пустому множеству. Параметры Число элементов, чтобы пропустить для операции limit(). Возвращаемые значения Объект CollectionFind, который может использоваться
для дополнительной обработки. Примеры Пример 5.38.
Вышеупомянутый пример произведет что-то подобное: Установите критерии сортировки. Описание Сортируйте набор результатов полем в аргументе sort_expr.
Позволенные порядки: ASC (Ascending) и DESC (Descending).
Эта операция эквивалентна SQL-оператору 'ORDER BY'
и следует тем же самым правилам. Параметры Одно или более выражений для сортировки могут быть обеспечены.
Оценка проводится слева направо, каждое выражение отделено запятой.
Возвращаемые значения Объект CollectionFind, который может использоваться, чтобы выполнить
команду или добавить дополнительные операции. Примеры Пример 5.39.
Вышеупомянутый пример произведет что-то подобное: Добавить элемент к множеству полей. Описание Добавьте элемент к полю документа, многократные элементы полей
представляются как множество. В отличие от arrayInsert(), arrayAppend()
всегда добавляет новый элемент в конце множества, тогда как arrayInsert()
может определить местоположение. Параметры Идентификатор поля, где новый элемент вставляется. Новый элемент, чтобы вставить в конце множества поля документа.
Возвращаемые значения Объект CollectionModify, который может использоваться, чтобы выполнить
команду или добавить дополнительные операции. Примеры Пример 5.40.
Вышеупомянутый пример произведет что-то подобное: Вставить элемент в поле множества. Описание Добавьте элемент к полю документа, многократные элементы поля
представляются как множество. В отличие от arrayAppend(), arrayInsert()
позволяет вам определять, где новый элемент вставляется, определяя элемент,
после которого выполяется вставка, тогда как arrayAppend()
всегда вставляет новый элемент в конце множества. Параметры Определите пункт во множестве, после которого
новый элемент вставляется. Формат этого параметра
INDEX считается с 0, таким образом, у крайнего левого пункта
множества есть индекс 0. Новый элемент, чтобы вставить после
FIELD_NAME[INDEX]. Возвращаемые значения Объект CollectionModify, который может использоваться, чтобы выполнить
команду или добавить дополнительные операции. Примеры Пример 5.41. Вышеупомянутый пример произведет что-то подобное: Привязывает значение к шаблону. Описание Привязывает значение к шаблону в условии поиска операции modify. У заполнителя есть форма :NAME, где ':' общий префикс, который должен
всегда существовать перед любым NAME, где NAME это название заполнителя.
Метод принимает список заполнителей, если нужно подставить в условие поиска
сразу несколько значений. Параметры Значения заполнителя, чтобы занять место в условии поиска.
Многократные значения позволены и должны быть переданы как множество
отображений PLACEHOLDER_NAME->PLACEHOLDER_VALUE. Возвращаемые значения Объект CollectionModify, который может использоваться, чтобы выполнить
команду или добавить дополнительные операции. Примеры Пример 5.42.
Вышеупомянутый пример произведет что-то подобное: Конструктор CollectionModify. Описание Изменит (обновиют) коллекцию. Экземпляр создается методом
Collection::modify(). Параметры Эта функция не имеет параметров. Примеры Пример 5.43.
Вышеупомянутый пример произведет что-то подобное: Выполните операцию изменения. Описание Метод требуется, чтобы отправить операционный запрос
CRUD серверу MySQL. Параметры Эта функция не имеет параметров. Возвращаемые значения Объект Result, который может использоваться, чтобы проверить статус
операции, такой как количество затронутых строк. Примеры Пример 5.44.
Количество измененных документов. Описание Ограничит количество документов, измененных этой операцией.
Произвольно комбинируется с skip(), чтобы определить значение пропуска. Параметры Максимальное количество документов, чтобы изменить. Возвращаемые значения Объект CollectionModify. Примеры Пример 5.45.
Вышеупомянутый пример произведет что-то подобное: Ставит патч документа. Описание Берет объект и применяет его на один или несколько документов, может
обновить много свойств документа. Эта функция пока
не документирована, есть только список параметров. Параметры Документ со свойствами относиться к соответствующим документам.
Возвращаемые значения Объект CollectionModify. Примеры Пример 5.46.
Заменит поле документа. Описание Заменит (обновит) данное значение поля новым. Параметры Путь документа к элементу. Значение, чтобы установить на указанном признаке. Возвращаемые значения Объект CollectionModify. Примеры Пример 5.47.
Вышеупомянутый пример произведет что-то подобное: Установите атрибут документа. Описание Установит или обновит атрибуты на документах в коллекции. Параметры Путь документа (название) элемента. Значение, чтобы установить. Возвращаемые значения Объект CollectionModify. Примеры Пример 5.48.
Вышеупомянутый пример произведет что-то подобное: Пропустить элементы. Описание Пропустить первые N элементов, которые были бы иначе возвращены операцией
поиска. Если число пропускаемых элементов больше, чем размер набора
результатов, то операция поиска возвращает пустое множество. Эта функция пока
не документирована, есть только список параметров. Параметры Число элементов, чтобы пропустить. Возвращаемые значения Объект CollectionModify, чтобы использовать для последующей обработки. Примеры Пример 5.49.
Установите критерии сортировки. Описание Сортируйте набор результатов полем, заданным в параметре sort_expr.
Позволенные порядки ASC (Ascending) или DESC (Descending).
Эта операция эквивалентна 'ORDER BY' в SQL и следует тем
же самым правилам. Эта функция пока
не документирована, есть только список параметров. Параметры Одно или более выражений для сортировки могут быть обеспечены, оценка
их будет от крайнего левого до крайнего правого, каждое выражение должно
быть отделено запятой. Возвращаемые значения Объект CollectionModify, который может использоваться
для последующей обработки. Примеры Пример 5.50.
Сбросьте значение полей документа. Описание Удаляет признаки из документов в коллекции. Эта функция пока не документирована, есть только список параметров. Параметры Признаки, чтобы удалить из документов в коллекции. Возвращаемые значения Объект CollectionModify, который может использоваться для последующей обработки. Примеры
Пример 5.51. Привязать значение к шаблону. Описание Привязать значение к шаблону в условии поиска операции remove. У заполнителя есть форма :NAME, где ':'
общий префикс, который должен всегда существовать перед любым NAME, а NAME
это название заполнителя. Метод принимает список заполнителей, если
нужно заменить несколько вариантов в условии поиска. Эта функция пока
не документирована, есть только список параметров. Параметры Значение заполнителя, чтобы занять место в условии поиска.
Многократные значения позволены и должны быть переданы как множество
отображений PLACEHOLDER_NAME->PLACEHOLDER_VALUE. Возвращаемые значения Объект CollectionRemove, который может использоваться, чтобы выполнить
команду или добавить дополнительные операции. Примеры Пример 5.52.
Конструктор CollectionRemove. Описание Удалите документы из коллекции, экземпляр порождается
методом Collection::remove(). Параметры Эта функция не имеет параметров. Примеры Пример 5.53.
Выполните операцию remove. Описание Функция должна быть вызвана, чтобы вызвать клиента, чтобы отправить
операционный запрос CRUD серверу. Эта функция пока
не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Возвращаемые значения Объект Result. Примеры Пример 5.54.
Количество документов, чтобы удалить. Описание Определяет максимальное число документов, чтобы удалить. Эта функция пока
не документирована, есть только список параметров. Параметры Максимальное количество документов, чтобы удалить. Возвращаемые значения Объект CollectionRemove, который может использоваться, чтобы выполнить
команду или добавить дополнительные операции. Примеры Пример 5.55.
Установите критерии сортировки. Описание Сортируйте набор результатов полем в параметре sort_expr.
Позволенные порядки ASC (Ascending) или DESC (Descending).
Эта операция эквивалентна 'ORDER BY' в SQL
и следует тем же самым правилам. Эта функция пока
не документирована, есть только список параметров. Параметры Одно или более выражений для сортировки могут быть обеспечены.
Оценка слева направо, и каждое выражение отделено запятой. Возвращаемые значения CollectionRemove, который может использоваться, чтобы выполнить
команду или добавить дополнительные операции. Примеры Пример 5.56.
Конструктор ColumnResult. Описание Получить метаданные колонки, такие как набор символов, экземпляр этого
создается методом RowResult::getColumns(). Параметры Эта функция не имеет параметров. Примеры Пример 5.57.
Вышеупомянутый пример произведет что-то подобное: Получите набор символов. Описание Эта функция пока
не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Возвращаемые значения Примеры Пример 5.58.
Получите имя сопоставления. Описание Эта функция пока
не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Возвращаемые значения Примеры Пример 5.59.
Получите метку столбца. Описание Эта функция пока
не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Возвращаемые значения Примеры Пример 5.60.
Получите имя столбца. Описание Эта функция пока
не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Возвращаемые значения Примеры Пример 5.61. Получите длину дробной части. Описание Вернет количество дробных цифр для колонки. Эта функция пока
не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Возвращаемые значения Примеры Пример 5.62.
Получите длину поля колонки. Описание Эта функция пока
не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Возвращаемые значения Примеры Пример 5.63.
Получите название схемы. Описание Вернет название схемы, где колонка сохранена. Эта функция пока
не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Возвращаемые значения Примеры Пример 5.64.
Получите метку таблицы. Описание Эта функция пока
не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Возвращаемые значения Примеры Пример 5.65.
Получите имя таблицы. Описание Эта функция пока
не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Возвращаемые значения Название таблицы для колонки. Примеры Пример 5.66.
Получите тип столбца. Описание Эта функция пока не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Возвращаемые значения Примеры Пример 5.67.
Тип со знаком? Описание Вернет информацию о колонке, экземпляр порождается методом
RowResult::getColumns(). Эта функция пока не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Возвращаемые значения Примеры Пример 5.68.
Есть ли дополнение? Описание Эта функция пока не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Возвращаемые значения Примеры Пример 5.69.
Привязывает значение к шаблону. Описание Привязывает значение к шаблону. Эта функция пока не документирована, есть только список параметров. Параметры Название заполнителей и значения, чтобы связать. Возвращаемые значения Объект CrudOperationBindable. Примеры Пример 5.70.
Установите предел результата. Описание Определяет максимальное число возвращаемых записей или документов. Эта функция пока не документирована, есть только список параметров. Параметры Максимальное количество записей или документов. Возвращаемые значения Объект CrudOperationLimitable. Примеры Пример 5.71.
Количество операций, чтобы пропустить. Описание Пропустите это количество записей в операции возврата. Эта функция пока
не документирована, есть только список параметров. Параметры Число элементов, чтобы пропустить. Возвращаемые значения Объект CrudOperationSkippable. Примеры Пример 5.72.
Сортировать результаты. Описание Сортируйте набор результатов полем в sort_expr. Позволенные порядки
ASC (Ascending) или DESC (Descending). Эта операция эквивалентна 'ORDER BY' в
SQL и использует те же правила. Эта функция пока не документирована, есть только список параметров. Параметры Одно или более выражений для сортировки могут быть обеспечены.
Оценка слева направо, каждое выражение отделено запятой. Возвращаемые значения Объект CrudOperationSortable. Примеры Пример 5.73.
Проверьте, существует ли объект в базе данных. Описание Проверяет, относится ли объект базы данных к объекту, который
существует в базе данных. Параметры Эта функция не имеет параметров. Возвращаемые значения Примеры Пример 5.74.
Получите имя объекта. Описание Название этого объекта базы данных. Эта функция пока не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Возвращаемые значения Название этого объекта базы данных. Примеры Пример 5.75.
Получите имя сессии. Описание Сессия, связанная с объектом базы данных. Эта функция пока не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Возвращаемые значения Объект Session. Примеры Пример 5.76.
Конструктор DocResult. Описание Получает результаты и предупреждения для документа, экземпляр
порождается CollectionFind. Параметры Эта функция не имеет параметров. Примеры Пример 5.77. DocResult Вышеупомянутый пример произведет что-то подобное: Получите все строки. Описание Получите все строки набора результатов. Параметры Эта функция не имеет параметров. Возвращаемые значения Числовое множество со всеми результатами запроса,
каждый результат это ассоциативный массив. Пустой массив возвращен, если
никакие строки не присутствуют. Примеры Пример 5.78.
Вышеупомянутый пример произведет что-то подобное: Получите одну строку. Описание Получите одну строку набора результатов. Параметры Эта функция не имеет параметров. Возвращаемые значения Результат как ассоциативный массив или Примеры Пример 5.79.
Вышеупомянутый пример произведет что-то подобное: Получите предупреждения от последней операции. Описание Получите предупреждения, произведенные последним запросом к серверу. Параметры Эта функция не имеет параметров. Возвращаемые значения Множество объектов Warning от последней операции.
Каждый объект определяет сообщение 'message', уровень ошибки
'level', код ошибки 'code'. Пустой массив возвращен, если никакие
ошибки не присутствуют. Примеры Пример 5.80.
Вышеупомянутый пример произведет что-то подобное: Возвращает количество предупреждений, поднятых последней операцией.
Описание Возвращает количество предупреждений, поднятых последней операцией.
Определенно, эти предупреждения подняты сервером MySQL. Параметры Эта функция не имеет параметров. Возвращаемые значения Количество предупреждений от последней операции. Примеры Пример 5.81. Вышеупомянутый пример произведет что-то подобное: Выполните запрос. Описание Выполните запрос от операции с коллекцией или от запроса таблицы,
эта функциональность позволяет создание цепочки методов. Параметры Эта функция не имеет параметров. Возвращаемые значения Один из объектов Result, например, Result или SqlStatementResult. Примеры Пример 5.82. Вызов execute() Вышеупомянутый пример произведет что-то подобное: Конструктор ExecutionStatus. Описание Эта функция пока не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Примеры Пример 5.83.
Конструктор Expression. Описание Эта функция пока не документирована, есть только список параметров. Параметры Примеры Пример 5.84.
Конструктор Result. Описание Объект, который получает произведенные ID, значения AUTO_INCREMENT и
предупреждения для набора Result. Параметры Эта функция не имеет параметров. Примеры Пример 5.85.
Вывод этого примера: Получите затронутое количество строк. Описание Получите количество строк, затронутых предыдущей операцией. Параметры Эта функция не имеет параметров. Возвращаемые значения Число (как integer) затронутых строк. Примеры Пример 5.86.
Вывод этого примера: Получите значение autoincrement. Описание Получите последнее значение AUTO_INCREMENT (последний id вставки). Параметры Эта функция не имеет параметров. Возвращаемые значения Получите значение AUTO_INCREMENT. Примеры Пример 5.87.
Вывод этого примера: Получите произведенные id. Описание Получите произведенные значения _id от последней операции. Уникальное поле
_id произведено сервером MySQL. Параметры Эта функция не имеет параметров. Возвращаемые значения Множество произведенных _id от последней операции или пустой массив, если
нет ни одного. Примеры Пример 5.88.
Вышеупомянутый пример произведет что-то подобное: Получите предупреждения от последней операции. Описание Получите предупреждения от последней операции с Result. Параметры Эта функция не имеет параметров. Возвращаемые значения Множество объектов Warning от последней операции. Каждый объект определяет
код ошибки, ее уровень и сообщение. Пустой массив возвращен, если никакие
ошибки не присутствуют. Примеры Пример 5.89.
Вышеупомянутый пример произведет что-то подобное: Получите количество предупреждений от последней операции. Описание Получите количество предупреждений от последней операции. Параметры Эта функция не имеет параметров. Возвращаемые значения Количество предупреждений, произведенных последней операцией. Примеры Пример 5.90.
Вышеупомянутый пример произведет что-то подобное: Конструктор RowResult. Описание Представляет набор результатов, полученный из запроса к базе данных. Параметры Эта функция не имеет параметров. Примеры Пример 5.91. Вышеупомянутый пример произведет что-то подобное: Получите все строки результата. Описание Получите все строки результата. Параметры Эта функция не имеет параметров. Возвращаемые значения Числовое множество со всеми следствиями запроса:
каждый результат это ассоциативный массив. Пустой массив возвращен, если
никакие строки не присутствуют. Примеры Пример 5.92.
Вышеупомянутый пример произведет что-то подобное: Получите строку результата. Описание Получите одну строку из результата. Эта функция пока не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Возвращаемые значения Результат как ассоциативный массив или Примеры Пример 5.93.
Вышеупомянутый пример произведет что-то подобное: Получите количество столбцов. Описание Получите количество столбцов для колонок,
существующих в наборе результатов. Параметры Эта функция не имеет параметров. Возвращаемые значения Количество колонок. 0, если нет ни одной. Журнал изменений Примеры Пример 5.94.
Вышеупомянутый пример произведет что-то подобное: Получите все имена столбцов. Описание Получите все имена столбцов для колонок,
существующих в наборе результатов. Эта функция пока не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Возвращаемые значения Числовое множество названий столбцов таблицы или пустой
массив, если набор результатов пуст. Примеры Пример 5.95.
Вышеупомянутый пример произведет что-то подобное: Получите метаданные колонки. Описание Получите метаданные колонки для колонок,
существующих в наборе результатов. Эта функция пока не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Возвращаемые значения Множество объектов FieldMetadata, представляющих колонки в результате
или пустой массив, если набор результатов пуст. Примеры Пример 5.96.
Вышеупомянутый пример произведет что-то подобное: Получите предупреждения от последней операции. Описание Получите предупреждения от последней операции RowResult. Параметры Эта функция не имеет параметров. Возвращаемые значения Множество объектов Warning от последней операции. Каждый объект определяет
код, уровень ошибки и сообщение.
Пустой массив возвращен, если никакие ошибки не присутствуют. Примеры Пример 5.97.
Вышеупомянутый пример произведет что-то подобное: Получите количество предупреждений от последней операции. Описание Получите количество предупреждений от последней операции RowResult. Параметры Эта функция не имеет параметров. Возвращаемые значения Количество предупреждений, произведенных последней операцией. Примеры Пример 5.98.
Вышеупомянутый пример произведет что-то подобное: Конструктор Schema. Описание Объект Schema обеспечивает полный доступ к схеме (базе данных). Параметры Эта функция не имеет параметров. Примеры Пример 5.99.
Schema::__construct Вышеупомянутый пример произведет что-то подобное: Добавьте коллекцию к схеме. Описание Создайте коллекцию в рамках схемы. Эта функция пока не документирована, есть только список параметров. Параметры Примеры Пример 5.100.
Schema::createCollection Вышеупомянутый пример произведет что-то подобное: Удалите коллекцию из схемы. Описание Эта функция пока не документирована, есть только список параметров. Параметры Примеры Пример 5.101. Schema::dropCollection Вышеупомянутый пример произведет что-то подобное: Проверьте, существует ли объект в базе данных. Описание Проверяет, существует ли текущий объект (схема, таблица, коллекция или
представление) в объекте схемы. Эта функция пока не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Возвращаемые значения Примеры Пример 5.102.
Schema::existsInDatabase Вышеупомянутый пример произведет что-то подобное: Получите коллекцию из схемы. Описание Получите коллекцию из схемы. Параметры Имя коллекции, чтобы получить. Возвращаемые значения Объект Collection для отобранной коллекции. Примеры Пример 5.103.
Schema::getCollection Вышеупомянутый пример произведет что-то подобное: Получите объект таблицы коллекции. Описание Получите коллекцию, но как объект Table вместо объекта Collection. Параметры Название коллекции для получеия как объект Table. Возвращаемые значения Объект table для коллекции. Примеры Пример 5.104.
Schema::getCollectionAsTable Вышеупомянутый пример произведет что-то подобное: Получите все коллекции схемы. Описание Получите список коллекций для этой схемы. Параметры Эта функция не имеет параметров. Возвращаемые значения Множество всех коллекций в этой схеме, где каждое значение
элемента матрицы это объект Collection с именем коллекции как ключ. Примеры Пример 5.105.
Вышеупомянутый пример произведет что-то подобное: Получите название схемы. Описание Получите название схемы. Параметры Эта функция не имеет параметров. Возвращаемые значения Название схемы, связанной с объектом схемы, как последовательность. Примеры Пример 5.106.
Вышеупомянутый пример произведет что-то подобное: Получите сессию схемы. Описание Получите новый объект Session от объекта Schema. Параметры Эта функция не имеет параметров. Возвращаемые значения Объект Session. Примеры Пример 5.107.
Вышеупомянутый пример произведет что-то подобное: Получите таблицу схемы. Описание Получите объект Table для обеспеченной таьлицы в схеме. Параметры Название таблицы.
Возвращаемые значения Объект Table. Примеры Пример 5.108.
Вышеупомянутый пример произведет что-то подобное: Получите таблицу схемы. Описание Эта функция пока не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Возвращаемые значения Множество всех таблиц в этой схеме, где каждое значение
элемента матрицы это объект Table с именем таблицы как ключ. Примеры Пример 5.109.
Вышеупомянутый пример произведет что-то подобное: Получите объект схемы. Описание Используется другими объектами, чтобы получить объект схемы. Параметры Эта функция не имеет параметров. Возвращаемые значения Текущий объект Schema. Примеры Пример 5.110.
Вышеупомянутый пример произведет что-то подобное: Закрыть сессию. Описание Закрыть сессию с сервером. Параметры Эта функция не имеет параметров. Возвращаемые значения Примеры
Пример 5.111. Передайте транзакцию. Описание Передайте транзакцию. Параметры Эта функция не имеет параметров. Возвращаемые значения Объект SqlStatementResult. Примеры Пример 5.112.
Конструктор Description. Описание Объект Session, порожденный getSession(). Параметры Эта функция не имеет параметров. Примеры Пример 5.113.
Создайте новую схему. Описание Создайте новую схему. Параметры Название схемы, чтобы создать. Возвращаемые значения Объект Schema при успехе, исключение при неудаче. Примеры Пример 5.114.
Вышеупомянутый пример произведет что-то подобное: Удалить схему. Описание Удалить схему. Параметры Название схемы, чтобы удалить. Возвращаемые значения Уровень ошибки Примеры Пример 5.115.
Получите новый UUID. Описание Произведите Universal Unique IDentifier (UUID), произведенный согласно
RFC 4122. Параметры Эта функция не имеет параметров. Возвращаемые значения UUID, строка длиной 32. Примеры Пример 5.116.
Вышеупомянутый пример произведет что-то подобное: Получите название схемы по умолчанию. Описание Получите название схемы по умолчанию, это, как правило,
устанавливается в URI связи. Параметры Эта функция не имеет параметров. Возвращаемые значения Название схемы по умолчанию, определенной связью, или
Примеры Пример 5.117.
Вывод этого примера: Получите новый объект схемы. Описание Получите новый объект Schema для обеспеченного названия схемы. Параметры Название схемы (базы данных), чтобы получить объект Schema.
Возвращаемые значения Объект Schema. Примеры Пример 5.118.
Вышеупомянутый пример произведет что-то подобное: Получите схемы. Описание Получите объекты схемы для всех схем, доступных сессии. Параметры Эта функция не имеет параметров. Возвращаемые значения Множество, содержащее объекты, которые представляют все
схемы, доступные сессии. Примеры Пример 5.119.
Вышеупомянутый пример произведет что-то подобное: Получите версию сервера. Описание Получите версию сервера MySQL для сессии. Параметры Эта функция не имеет параметров. Возвращаемые значения Версия сервера MySQL для сессии, как целое число, например, "80012". Примеры Пример 5.120.
Вышеупомянутый пример произведет что-то подобное: Получите список клиентов. Описание Получите список связей клиента с сервером MySQL сессии. Параметры Эта функция не имеет параметров. Возвращаемые значения Множество, содержащее в настоящее время зарегистрированных клиентов.
Элементы массива: "client_id", "user", "host" и "sql_session". Примеры Пример
5.121. Вышеупомянутый пример произведет что-то подобное: Добавьте кавычки. Описание Функция цитирования, чтобы экранировать имена SQL и идентификаторы.
Это экранирует идентификаторы, данные в соответствии с параметрами настройки
текущей связи. Эта функция не должна использоваться,
чтобы экранировать значения. Параметры Последовательность, чтобы экранировать. Возвращаемые значения Экранированная последовательность. Примеры Пример 5.122.
Вышеупомянутый пример произведет что-то подобное: Освободите точку сохранения.
Описание Освободите ранее заданную точку сохранения. Параметры Название точки сохранения. Возвращаемые значения Объект SqlStatementResult. Примеры Пример 5.123.
Отмена транзакции. Описание Отмена транзакции. Параметры Эта функция не имеет параметров. Возвращаемые значения Объект SqlStatementResult. Примеры Пример 5.124.
Отмена транзакции к точке сохранения. Описание Отмена транзакции к точке сохранения. Параметры Название точки сохранения, нечувствительно к регистру. Возвращаемые значения Объект SqlStatementResult. Примеры Пример 5.125.
Создайте точку сохранения. Описание Создайте новую точку сохранения для транзакции. Эта функция пока не документирована, есть только список параметров. Параметры Название точки сохранения. Имя создано, если дополнительный
параметр Возвращаемые значения Название точки сохранения. Примеры Пример 5.126.
Выполните SQL-запрос. Описание Создайте SQL-оператор. Заполнители поддерживаются, используя синтаксис
"?". Используйте метод Параметры SQL-оператор, чтобы выполнить. Возвращаемые значения Объект SqlStatement. Примеры Пример 5.127.
Начните новую транзакцию. Описание Начните новую транзакцию. Параметры Эта функция не имеет параметров. Возвращаемые значения Объект SqlStatementResult. Примеры Пример 5.128.
Свяжите параметры с оператором. Описание Эта функция пока не документирована, есть только список параметров. Параметры Примеры Пример 5.129.
Конструктор Description. Описание Эта функция пока не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Примеры Пример 5.130.
Выполните операцию. Описание Эта функция пока не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Примеры Пример
5.131. Получите следующий результат. Описание Эта функция пока не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Примеры Пример 5.132.
Получите результат. Описание Эта функция пока не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Примеры Пример 5.133.
Проверьте на большее количество результатов. Описание Эта функция пока не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Возвращаемые значения Примеры Пример 5.134.
Конструктор Description. Описание Эта функция пока не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Примеры Пример 5.135.
Получите все строки результата. Описание Получите все строки из набора результатов. Эта функция пока не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Возвращаемые значения Числовое множество со всеми результатами запроса,
каждый результат это ассоциативный массив. Пустой массив возвращен, если
никакие строки не присутствуют. Примеры Пример 5.136.
Вышеупомянутый пример произведет что-то подобное: Получите единственную строку. Описание Получите единственную строку набора результатов. Эта функция пока не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Возвращаемые значения Результат как ассоциативный массив. В случае, если нет никакого
результата, пустой указатель будет возвращен. Примеры Пример 5.137.
Вышеупомянутый пример произведет что-то подобное: Получите количество затронутых строк. Описание Эта функция пока не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Примеры Пример 5.138.
Получите количество столбцов. Описание Эта функция пока не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Возвращаемые значения Количество столбцов. 0, если нет ни одного. Журнал изменений Примеры Пример 5.139.
Получите имена столбцов. Описание Эта функция пока не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Примеры Пример 5.140.
Получите колонки. Описание Эта функция пока не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Примеры Пример
5.141. Получите произведенные id. Описание Эта функция пока не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Возвращаемые значения Множество произведенных _id из последней операции или пустой массив, если
нет ни одного. Примеры Пример 5.142.
Получите последний id вставки. Описание Эта функция пока не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Возвращаемые значения ID для последней операции вставки. Примеры Пример 5.143.
Получите предупреждения от последней операции. Описание Эта функция пока не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Возвращаемые значения Множество объектов Warning от последней операции. Каждый объект определяет
код, уровень и сообщение об ошибке.
Пустой массив возвращен, если никакие ошибки не присутствуют. Примеры Пример 5.144.
Получите количество предупреждений от последней операции. Описание Эта функция пока не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Возвращаемые значения Число предупреждений во время последней операции CRUD. Примеры Пример 5.145.
Проверьте, есть ли у результата данные. Описание Эта функция пока не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Возвращаемые значения Примеры Пример 5.146.
Получите следующий результат. Описание Эта функция пока не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Возвращаемые значения Следующий объект Result набора результатов. Примеры Пример 5.147.
Конструктор Description. Описание Эта функция пока не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Примеры Пример 5.148.
Получите следующий результат. Описание Эта функция пока не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Примеры Пример 5.149.
Получите результат. Описание Эта функция пока не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Примеры Пример 5.150.
Проверьте, есть ли больше результатов. Описание Эта функция пока не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Примеры Пример 5.151. Обеспечивает доступ к таблице через операторы
INSERT/SELECT/UPDATE/DELETE. Конструктор Table. Описание Создает объект table. Параметры Эта функция не имеет параметров. Примеры Пример 5.152.
Получите количество строк. Описание Получите число строк в таблице. Параметры Эта функция не имеет параметров. Возвращаемые значения Общее количество строк в таблице. Примеры Пример 5.153.
Вывод этого примера: Удалите строки из таблицы. Описание Удалите строки из таблицы. Параметры Эта функция не имеет параметров. Возвращаемые значения Объект TableDelete, используйте метод execute(), чтобы выполнить
запрос на удаление. Примеры Пример 5.154.
Проверьте, существует ли таблица в базе данных. Описание Проверяет, существует ли этот таблица в базе данных. Параметры Эта функция не имеет параметров. Возвращаемые значения Примеры Пример 5.155.
Вышеупомянутый пример произведет что-то подобное: Получите имя таблицы. Описание Возвращает название этого объекта базы данных. Параметры Эта функция не имеет параметров. Возвращаемые значения Название этого объекта базы данных. Примеры Пример 5.156.
Вышеупомянутый пример произведет что-то подобное: Получите схему таблицы. Описание Получите схему таблицы. Параметры Эта функция не имеет параметров. Возвращаемые значения Объект Schema. Примеры Пример 5.157.
Вышеупомянутый пример произведет что-то подобное: Получите сессию таблицы. Описание Получите сессию таблицы. Параметры Эта функция не имеет параметров. Возвращаемые значения Объект Session. Примеры Пример 5.158.
Вышеупомянутый пример произведет что-то подобное: Вставляет строки в таблицу. Описание Вставляет строки в таблицу. Параметры Колонки, чтобы вставить данные. Может быть множество с одним или более
значениями или последовательность. Дополнительные определения столбцов. Возвращаемые значения Объект TableInsert, используйте метод execute(), чтобы
выполнить запрос вставки. Примеры Пример 5.159.
Проверьте, является ли таблица представлением. Описание Определите, является ли основной объект представлением или нет. Параметры Эта функция не имеет параметров. Возвращаемые значения Примеры Пример 5.160.
Вывод этого примера: Выберите строки из таблицы. Описание Выберите строки из таблицы. Параметры Колонки, чтобы выбрать данные. Может быть множеством с одним или более
значениями или последовательностью. Дополнительные определения параметра столбцов. Возвращаемые значения Объект TableSelect, используйте метод execute(), чтобы выполнить избранное
и возвратить объект RowResult. Примеры
Пример 5.161. Вышеупомянутый пример произведет что-то подобное: Обновите строки в таблице. Описание Обновите строки в таблице. Параметры Эта функция не имеет параметров. Возвращаемые значения Объект TableUpdate, используйте метод execute(), чтобы
выполнить запрос обновления. Примеры Пример 5.162.
Запрос для операции удаления на таблице. Свяжите параметры запроса на удаление. Описание Связывает значение с определенным заполнителем. Параметры Название заполнителя и значение для привязки. Возвращаемые значения Объект TableDelete. Примеры Пример 5.163.
Конструктор TableDelete. Описание Инициализируется при вызове методла delete(). Параметры Эта функция не имеет параметров. Примеры Пример 5.164.
Выполните запрос на удаление. Описание Выполните запрос на удаление. Параметры Эта функция не имеет параметров. Возвращаемые значения Объект Result. Примеры Пример 5.165.
Определяет максимальное число записей или документов, чтобы удалить.
Описание Определяет максимальное число записей или документов, чтобы удалить. Параметры Максимальное количество записей или документов, чтобы удалить.
Возвращаемые значения Объект TableDelete. Примеры Пример 5.166.
Задать критерии сортировки. Описание Задать критерии сортировки для набора результатов. Параметры Определение критерия сортировки. Возвращаемые значения Объект TableDelete. Примеры Пример 5.167.
Задает условие поиска. Описание Задает условие поиска. Параметры Определите условие поиска, чтобы отфильтровать документы или записи.
Возвращаемые значения Объект TableDelete. Примеры Пример 5.168.
Запрос для операций по вставке на таблице. Конструктор TableInsert. Описание Инициализуется при вызове метода insert(). Параметры Эта функция не имеет параметров. Примеры Пример 5.169.
Выполните запрос на вставку. Описание Выполните запрос на вставку. Параметры Эта функция не имеет параметров. Возвращаемые значения Объект Result. Примеры Пример 5.170.
Добавьте значения строки вставки. Описание Установите значения, которые будут вставлены. Параметры Значения (множество) столбцов, чтобы вставить. Возвращаемые значения Объект TableInsert. Примеры Пример 5.171.
Запрос для поисковых операций на таблице. Свяжите параметры запроса. Описание Связывает значение с определенным заполнителем. Параметры Название заполнителя и значение, чтобы связать. Возвращаемые значения Объект TableSelect. Примеры Пример 5.172.
Вышеупомянутый пример произведет что-то подобное: Конструктор TableSelect. Описание Объект возвращен методом select(), используйте execute(),
чтобы выполнить запрос. Параметры Эта функция не имеет параметров. Примеры Пример 5.173.
Вышеупомянутый пример произведет что-то подобное: Выполните запрос select. Описание Выполните запрос select. Параметры Эта функция не имеет параметров. Возвращаемые значения Объект RowResult. Примеры Пример 5.174.
Вышеупомянутый пример произведет что-то подобное: Установите критерии группировки select. Описание Установите критерии группировки select набора результатов. Параметры Критерии группировки. Возвращаемые значения Объект TableSelect. Примеры Пример 5.175.
Вышеупомянутый пример произведет что-то подобное: Установите выражение select having. Описание Установите условие для записей, чтобы рассмотреть в операциях
по агрегатной функции. Параметры Условие на агрегатных функциях используется на критериях группировки.
Возвращаемые значения Объект TableSelect. Примеры Пример 5.176.
Вышеупомянутый пример произведет что-то подобное: Ограничьте отобранные строки. Описание Определяет максимальное количество записей или документов. Параметры Максимальное количество записей или документов. Возвращаемые значения Объект TableSelect. Примеры Пример 5.177.
Вышеупомянутый пример произведет что-то подобное: Выполните EXCLUSIVE LOCK. Описание Выполните операцию чтения с EXCLUSIVE LOCK. Только одна блокировка может
быть активна за один раз. Параметры Дополнительный выбор ожидания, по умолчанию
Возвращаемые значения Объект TableSelect. Примеры Пример 5.178.
Вышеупомянутый пример произведет что-то подобное: Выполните SHARED LOCK. Описание Выполните операцию чтения с SHARED LOCK. Только одна блокировка может быть
активна за один раз. Параметры Дополнительный выбор ожидания, по умолчанию
Возвращаемые значения Объект TableSelect. Примеры Пример 5.179.
Вышеупомянутый пример произведет что-то подобное: Задайте смещение лимита. Описание Пропустите заданное количество строк в результате. Параметры Собственно смещение лимита. Возвращаемые значения Объект TableSelect. Примеры Пример 5.180.
Вышеупомянутый пример произведет что-то подобное: Критерии сортировки select. Описание Критерии сортировки select. Параметры Выражения, которые определяют сортировку по критериям.
Может быть множество с одним или более
выражениями или последовательность. Дополнительные параметры sort_expr. Возвращаемые значения Объект TableSelect. Примеры
Пример 5.181. Вышеупомянутый пример произведет что-то подобное: Устанавливает условие поиска. Описание Устанавливает условие поиска. Параметры Определите условие поиска, чтобы отфильтровать документы или записи.
Возвращаемые значения Объект TableSelect. Примеры Пример 5.182.
Вышеупомянутый пример произведет что-то подобное: Запрос для операций по обновлению на Table. Свяжите параметры с запросом на обновление. Описание Связывает значение с определенным заполнителем. Параметры Название заполнителя и значение, чтобы связать, определенные
как множество JSON. Возвращаемые значения Объект TableUpdate. Примеры Пример 5.183.
Конструктор TableUpdate. Описание Экземпляр порождается методом update(). Параметры Эта функция не имеет параметров. Примеры Пример 5.184.
Выполните запрос на обновление. Описание Выполните запрос на обновление. Параметры Эта функция не имеет параметров. Возвращаемые значения Объект TableUpdate. Примеры Пример 5.185.
Ограничение числа обновляемых строк. Описание Определите максимальное число обновляемых записей или документов. Параметры Максимальное количество записей или документов для обновления.
Возвращаемые значения Объект TableUpdate. Примеры Пример 5.186.
Устанавливает критерии сортировки. Описание Устанавливает критерии сортировки. Параметры Выражения, которые определяют сортировку по критериям.
Может быть множество с одним или более
выражениями или последовательность. Дополнительные параметры sort_expr. Возвращаемые значения Объект TableUpdate. Примеры Пример 5.187.
Добавьте поле, которое будет обновлено. Описание Обновляет значение столбца на записях в таблице. Параметры Имя столбца, который будет обновлен. Значение, которое будет установлено на указанной колонке.
Возвращаемые значения Объект TableUpdate. Примеры Пример 5.188.
Установите фильтр поиска. Описание Установите условие поиска. Параметры Условие поиска, чтобы отфильтровать документы или записи.
Возвращаемые значения Объект TableUpdate. Примеры Пример 5.189.
Конструктор Warning. Описание Эта функция пока не документирована, есть только список параметров. Параметры Эта функция не имеет параметров. Примеры Пример 5.190.
Глава 5. Mysql_xdevapi
5.1. Установка и настройка
5.1.1. Требования
5.1.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
5.1.3. Конфигурация во время выполнения
php.ini
.
Имя Умолчание
Изменяемая? Журнал изменений
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
string5.1.4.
Сборка из исходных текстов
--enable-mysql-xdevapi
.make protobufs
,
чтобы произвести файлы (*.pb.cc/.h) и make
clean-protobufs
, чтобы удалить файлы protobuf.
5.2. Предопределенные константы
MYSQLX_CLIENT_SSL
(integer)MYSQLX_TYPE_DECIMAL
(integer)
MYSQLX_TYPE_TINY
(integer)MYSQLX_TYPE_SHORT
(integer)MYSQLX_TYPE_SMALLINT
(integer)
MYSQLX_TYPE_MEDIUMINT
(integer)MYSQLX_TYPE_INT
(integer)
MYSQLX_TYPE_BIGINT
(integer)MYSQLX_TYPE_LONG
(integer)MYSQLX_TYPE_FLOAT
(integer)MYSQLX_TYPE_DOUBLE
(integer)MYSQLX_TYPE_NULL
(integer)
MYSQLX_TYPE_TIMESTAMP
(integer)MYSQLX_TYPE_LONGLONG
(integer)MYSQLX_TYPE_INT24
(integer)MYSQLX_TYPE_DATE
(integer)
MYSQLX_TYPE_TIME
(integer)
MYSQLX_TYPE_DATETIME
(integer)MYSQLX_TYPE_YEAR
(integer)MYSQLX_TYPE_NEWDATE
(integer)MYSQLX_TYPE_ENUM
(integer)MYSQLX_TYPE_SET
(integer)MYSQLX_TYPE_TINY_BLOB
(integer)
MYSQLX_TYPE_MEDIUM_BLOB
(integer)MYSQLX_TYPE_LONG_BLOB
(integer)MYSQLX_TYPE_BLOB
(integer)MYSQLX_TYPE_VAR_STRING
(integer)
MYSQLX_TYPE_STRING
(integer)MYSQLX_TYPE_CHAR
(integer)MYSQLX_TYPE_BYTES
(integer)MYSQLX_TYPE_INTERVAL
(integer)MYSQLX_TYPE_GEOMETRY
(integer)
MYSQLX_TYPE_JSON
(integer)MYSQLX_TYPE_NEWDECIMAL
(integer)
MYSQLX_TYPE_BIT
(integer)MYSQLX_LOCK_DEFAULT
(integer)MYSQLX_LOCK_NOWAIT
(integer)MYSQLX_LOCK_SKIP_LOCKED
(integer)5.3. Примеры
mysql_xdevapi\getSession
,
которая получает URI к серверу MySQL 8.0 и возвращает объект
mysql_xdevap\Session
.
<?php
try {
$session = mysql_xdevapi\getSession("mysqlx://user:password@host");
} catch(Exception $e) {
die("Connection could not be established: " . $e->getMessage());
}
// ... use $session
?>
<?php
$schema = $session->createSchema("test");
$collection = $schema->createCollection("example");
?>
json_encode
, чтобы закодировать данные в
JSON, который может тогда быть сохранен в коллекции.
<?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"
}
_id
, которая служит
первичным ключом к документу.
<?php
$result = $collection->find()->execute();
foreach ($result as $doc)
{
echo "${doc["name"]} is a ${doc["job"]}.\n";
}
?>
Marco is a Programmer.
Mike is a Manager.
5.4. Функции Mysql_xdevapi
5.4.1.
expression
expression
object mysql_xdevapi\expression(string expression);
expression
mysql_xdevapi\Expression
<?php
$expression = mysql_xdevapi\Expression("[age,job]");
$res= $coll->find("age > 30")->fields($expression)->limit(3)->execute();
$data = $res->fetchAll();
print_r($data);
?>
5.4.2.
getSession
getSession
mysql_xdevapi\Session mysql_xdevapi\getSession(string uri);
uri
mysqlx://user:password@host
.scheme://[user[:[password]]@]target[:port][?attribute1=value1&attribute2=value2...
scheme
:
необходимый, протокол связи.user
:
дополнительный, учетная запись пользователя MySQL для идентификации.password
:
дополнительный, пароль пользователя MySQL для идентификации.target
:
необходимый, указывает экземпляр сервера:port
:
дополнительный, сетевой порт сервера MySQL.?attribute=value
:
этот элемент дополнительный и определяет словарь данных, который содержит
различные варианты, включая:auth
(механизм аутентификации),
поскольку это касается зашифрованных связей. Для получения дополнительной
информации посмотрите
Command Options for Encrypted Connections.
Допустимые значения 'auth':
plain
,
mysql41
,
external
и
sha256_mem
.connect-timeout
затрагивает связь, но не последующие операции.
Это установлено для каждого подключения.
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
Session
.Exception
.mysql_xdevapi\getSession
<?php
try {
$session = mysql_xdevapi\getSession("mysqlx://user:password@host");
} catch(Exception $e) {
die("Connection could not be established: " . $e->getMessage());
}
$schemas = $session->getSchemas();
print_r($schemas);
$mysql_version = $session->getServerVersion();
print_r($mysql_version);
var_dump($collection->find("name = 'Alfred'")->execute()->fetchOne());
?>
Array
(
[0] => mysql_xdevapi\Schema Object
(
[name] => helloworld
)
[1] => mysql_xdevapi\Schema Object
(
[name] => information_schema
)
[2] => mysql_xdevapi\Schema Object
(
[name] => mysql
)
[3] => mysql_xdevapi\Schema Object
(
[name] => performance_schema
)
[4] => mysql_xdevapi\Schema Object
(
[name] => sys
)
)
80012
array(4) {
["_id"]=>
string(28) "00005ad66abf0001000400000003"
["age"]=>
int(42)
["job"]=>
string(7) "Butler"
["name"]=>
string(4) "Alfred"
}
5.5.
Интерфейс BaseResult
mysql_xdevapi\BaseResult {
mysql_xdevapi\BaseResult
Methods
abstract public array mysql_xdevapi\BaseResult::getWarnings();
abstract public integer mysql_xdevapi\BaseResult::getWarningsCount();
}
5.5.1.
BaseResult::getWarnings
BaseResult::getWarnings
abstract public array mysql_xdevapi\BaseResult::getWarnings();
mysql_xdevapi\RowResult::getWarnings
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("CREATE DATABASE foo")->execute();
$session->sql("CREATE TABLE foo.test_table(x int)")->execute();
$schema = $session->getSchema("foo");
$table= $schema->getTable("test_table");
$table->insert(['x'])->values([1])->values([2])->execute();
$res = $table->select(['x/0 as bad_x'])->execute();
$warnings = $res->getWarnings();
print_r($warnings);
?>
Array
(
[0] => mysql_xdevapi\Warning Object
(
[message] => Division by 0
[level] => 2
[code] => 1365
)
[1] => mysql_xdevapi\Warning Object
(
[message] => Division by 0
[level] => 2
[code] => 1365
)
)
5.5.2.
BaseResult::getWarningsCount
BaseResult::getWarningsCount
abstract public integer
mysql_xdevapi\BaseResult::getWarningsCount();
mysql_xdevapi\RowResult::getWarningsCount
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS foo")->execute();
$session->sql("CREATE DATABASE foo")->execute();
$session->sql("CREATE TABLE foo.test_table(x int)")->execute();
$schema = $session->getSchema("foo");
$table= $schema->getTable("test_table");
$table->insert(['x'])->values([1])->values([2])->execute();
$res = $table->select(['x/0 as bad_x'])->execute();
echo $res->getWarningsCount();
?>
2
5.6. Класс Client
mysql_xdevapi\Client {
mysql_xdevapi\Client
Methods public bool mysql_xdevapi\Client::close();
public mysql_xdevapi\Session mysql_xdevapi\Client::getSession();
}
5.6.1.
mysql_xdevapi\Client::close
mysql_xdevapi\Client::close
TRUE
, если связи закрываются.
5.6.2.
Client::__construct
Client::__construct
mysql_xdevapi\Client::__construct
<?php
$pooling_options = '{
"enabled": true,
"maxSize": 10,
"maxIdleTime": 3600,
"queueTimeOut": 1000
}';
$client = mysql_xdevapi\getClient($connection_uri, $pooling_options);
$session = $client->getSession();
5.6.3.
Client::getClient
Client::getClient
5.7. Класс Collection
mysql_xdevapi\Collection {
mysql_xdevapi\Collection, mysql_xdevapi\SchemaObject
Properties public name ;
Methods public mysql_xdevapi\CollectionAdd mysql_xdevapi\Collection::add(mixed document);
public mysql_xdevapi\Result mysql_xdevapi\Collection::addOrReplaceOne(string id, string doc);
public integer mysql_xdevapi\Collection::count();
public void mysql_xdevapi\Collection::createIndex(string index_name, string index_desc_json);
public bool mysql_xdevapi\Collection::dropIndex(string index_name);
public bool mysql_xdevapi\Collection::existsInDatabase();
public mysql_xdevapi\CollectionFind mysql_xdevapi\Collection::find(string search_condition);
public string mysql_xdevapi\Collection::getName();
public Document mysql_xdevapi\Collection::getOne(string id);
public Schema Object mysql_xdevapi\Collection::getSchema();
public Session mysql_xdevapi\Collection::getSession();
public mysql_xdevapi\CollectionModify mysql_xdevapi\Collection::modify(string search_condition);
public mysql_xdevapi\CollectionRemove mysql_xdevapi\Collection::remove(string search_condition);
public mysql_xdevapi\Result mysql_xdevapi\Collection::removeOne(string id);
public mysql_xdevapi\Result mysql_xdevapi\Collection::replaceOne(string id, string doc);
}
5.7.1.
Collection::add
Collection::add
['field' => 'value',
'field2' => 'value2' ... ]
.document
_id
для каждого документа,
хотя это может быть также добавлено вручную. Это значение должно
быть уникальным, иначе операция потерпит неудачу.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
)
5.7.2.
Collection::addOrReplaceOne
Collection::addOrReplaceOne
id
doc
mysql_xdevapi\Collection::addOrReplaceOne
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");
$collection = $schema->getCollection("people");
// Using add()
$result = $collection->add('{"name": "Wilma", "age": 23, "job": "Teacher"}')->execute();
// Using addOrReplaceOne()
// Note: we're passing in a known _id value here
$result = $collection->addOrReplaceOne('00005b6b53610000000000000056',
'{"name": "Fred","age": 21,
"job": "Construction"}');
?>
5.7.3.
Collection::__construct
Collection::__construct
mysql_xdevapi\Collection::getOne
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");
$result = $collection->add('{"name": "Alfred", "age": 42, "job": "Butler"}')->execute();
// A unique _id is (by default, and recommended) generated by MySQL Server
// This retrieves the generated _id's; only one in this example, so $ids[0]
$ids= $result->getGeneratedIds();
$alfreds_id = $ids[0];
// ...
print_r($alfreds_id);
print_r($collection->getOne($alfreds_id));
?>
00005b6b536100000000000000b1
Array
(
[_id] => 00005b6b536100000000000000b1
[age] => 42
[job] => Butler
[name] => Alfred
)
5.7.4.
Collection::count
Collection::count
SELECT COUNT(*)
для текущей схемы и коллекции. Другими словами, это считает
количество документов в коллекции.mysql_xdevapi\Collection::count
example
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");
$collection = $schema->getCollection("people");
$result = $collection->add(
'{"name": "Bernie",
"jobs": [
{"title":"Cat Herder","Salary":42000},
{"title":"Father","Salary":0}
],
"hobbies": ["Sports","Making cupcakes"]}',
'{"name": "Jane",
"jobs": [
{"title":"Scientist","Salary":18000},
{"title":"Mother","Salary":0}
],
"hobbies": ["Walking","Making pies"]}')->execute();
var_dump($collection->count());
?>
int(2)
5.7.5.
Collection::createIndex
Collection::createIndex
index_name
CREATE INDEX
.index_desc_json
field
: строка, весь путь документа к
участнику документа или поле, которое будет внесено в указатель.type
:
последовательность, один из поддержанных типов столбца SQL, чтобы
отобразить поле. Для числовых типов может следовать дополнительное ключевое
слово UNSIGNED. Для типа TEXT может быть добавлена длина для индексации.
required
: bool (опционально) true, если поле
обязано существовать в документе. По умолчанию
FALSE
, за исключением
GEOJSON
, там умолчание
TRUE
.options
: integer (опционально)
специальные флаги выбора для использования с данными
GEOJSON
.srid
: integer (опционально) srid для
декодирования данных GEOJSON
.mysql_xdevapi\Collection::createIndex
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");
// Creating a text index
$collection->createIndex('myindex1', '{"fields": [{
"field": "$.name", "type": "TEXT(25)",
"required": true}], "unique": false}');
// A spatial index
$collection->createIndex('myindex2', '{"fields": [{"field": "$.home",
"type": "GEOJSON", "required": true}],
"type": "SPATIAL"}');
// Index with multiple fields
$collection->createIndex('myindex3', '{"fields": [{"field": "$.name",
"type": "TEXT(20)", "required": true},
{"field": "$.age", "type": "INTEGER"},
{"field": "$.job", "type": "TEXT(30)",
"required": false}], "unique": true}');
5.7.6.
Collection::dropIndex
Collection::dropIndex
FALSE
.index_name
TRUE
при успехе DROP INDEX, иначе
FALSE
.mysql_xdevapi\Collection::dropIndex
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");
// ...
$collection = $schema->getCollection("people");
$collection->createIndex('myindex', '{"fields": [{"field": "$.name",
"type": "TEXT(25)", "required": true}],
"unique": false}');
// ...
if ($collection->dropIndex('myindex')) {
echo 'An index named 'myindex' was found, and dropped.';
}
?>
An index named 'myindex' was found, and dropped.
5.7.7.
Collection::existsInDatabase
Collection::existsInDatabase
TRUE
,
если коллекция существует в базе данных, иначе
FALSE
.
mysql_xdevapi\Collection::existsInDatabase
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");
// ...
$collection = $schema->getCollection("people");
// ...
if (!$collection->existsInDatabase()) {
echo "The collection no longer exists in the database named addressbook. What happened?";
}
?>
5.7.8.
Collection::find
Collection::find
search_condition
mysql_xdevapi\Collection::find
example
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");
$collection->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
$collection->add('{"name": "Bob","age": 19, "job": "Swimmer"}')->execute();
$collection->add('{"name": "Fred", "age": 20, "job": "Construction"}')->execute();
$collection->add('{"name": "Wilma","age": 21, "job": "Teacher"}')->execute();
$collection->add('{"name": "Suki", "age": 22, "job": "Teacher"}')->execute();
$find = $collection->find('job LIKE :job AND age > :age');
$result = $find
->bind(['job' => 'Teacher', 'age' => 20])
->sort('age DESC')
->limit(2)
->execute();
print_r($result->fetchAll());
?>
Array
(
[0] => Array
(
[_id] => 00005b6b536100000000000000a8
[age] => 22
[job] => Teacher
[name] => Suki
)
[1] => Array
(
[_id] => 00005b6b536100000000000000a7
[age] => 21
[job] => Teacher
[name] => Wilma
)
)
5.7.9.
Collection::getName
Collection::getName
mysql_xdevapi\Collection::getName
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");
// ...
var_dump($collection->getName());
?>
string(6) "people"
5.7.10.
Collection::getOne
Collection::getOne
Collection.find("_id =
:id").bind("id", id).execute().fetchOne();
.id
NULL
, если _id
не соответствует документу.mysql_xdevapi\Collection::getOne
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");
$result = $collection->add('{"name": "Alfred", "age": 42, "job": "Butler"}')->execute();
// A unique _id is (by default, and recommended) generated by MySQL Server
// This retrieves the generated _id's; only one in this example, so $ids[0]
$ids= $result->getGeneratedIds();
$alfreds_id = $ids[0];
// ...
print_r($alfreds_id);
print_r($collection->getOne($alfreds_id));
?>
00005b6b536100000000000000b1
Array
(
[_id] => 00005b6b536100000000000000b1
[age] => 42
[job] => Butler
[name] => Alfred
)
5.7.11.
Collection::getSchema
Collection::getSchema
NULL
,
если объект не может быть получен для данной коллекции.mysql_xdevapi\Collection::getSchema
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");
var_dump($collection->getSchema());
?>
object(mysql_xdevapi\Schema)#9 (1) {
["name"]=>
string(11) "addressbook"
}
5.7.12.
Collection::getSession
Collection::getSession
mysql_xdevapi\Collection::getSession
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");
// ...
$newsession = $collection->getSession();
var_dump($session);
var_dump($newsession);
?>
object(mysql_xdevapi\Session)#1 (0) { }
object(mysql_xdevapi\Session)#4 (0) { }
5.7.13.
Collection::modify
Collection::modify
search_condition
TRUE
, что соответствует всем документам, или
это могло бы использовать функции и операторы, например,
'CAST(_id AS SIGNED) >= 10'
,
'age MOD 2 = 0 OR age MOD 3 = 0'
,
или '_id IN ["2","5","7","10"]'
.mysql_xdevapi\Collection::modify
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");
$collection->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
$collection->add('{"name": "Bob","age": 19, "job": "Painter"}')->execute();
// Add two new jobs for all Painters: Artist and Crafter
$collection
->modify("job in ('Butler', 'Painter')")
->arrayAppend('job', 'Artist')
->arrayAppend('job', 'Crafter')
->execute();
// Remove the 'beer' field from all documents with the age 21
$collection
->modify('age < 21')
->unset(['beer'])
->execute();
?>
5.7.14.
Collection::remove
Collection::remove
search_condition
TRUE
, что соответствует всем документам, или
это могло бы использовать функции и операторы, например,
'CAST(_id AS SIGNED) >= 10'
,
'age MOD 2 = 0 OR age MOD 3 = 0'
,
или '_id IN ["2","5","7","10"]'
.mysql_xdevapi\Collection::remove
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");
$collection->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
$collection->add('{"name": "Bob","age": 19, "job": "Painter"}')->execute();
// Remove all painters
$collection
->remove("job in ('Painter')")
->execute();
// Remove the oldest butler
$collection
->remove("job in ('Butler')")
->sort('age desc')
->limit(1)
->execute();
// Remove record with lowest age
$collection
->remove('true')
->sort('age desc')
->limit(1)
->execute();
?>
5.7.15.
Collection::removeOne
Collection::removeOne
Collection.remove("_id =
:id").bind("id", id).execute()
.id
mysql_xdevapi\Collection::removeOne
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");
$result = $collection->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
// Normally the _id is known by other means,
// but for this example let's fetch the generated id and use it
$ids = $result->getGeneratedIds();
$alfred_id = $ids[0];
$result = $collection->removeOne($alfred_id);
if (!$result->getAffectedItemsCount()) {
echo "Alfred with id $alfred_id was not removed.";
} else {
echo "Goodbye, Alfred, you can take _id $alfred_id with you.";
}
?>
Goodbye, Alfred, you can take _id 00005b6b536100000000000000cb with you.
5.7.16.
Collection::replaceOne
Collection::replaceOne
id
doc
id
.mysql_xdevapi\Collection::replaceOne
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");
$result = $collection->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
// Normally the _id is known by other means,
// but for this example let's fetch the generated id and use it
$ids = $result->getGeneratedIds();
$alfred_id = $ids[0];
// ...
$alfred = $collection->getOne($alfred_id);
$alfred['age'] = 81;
$alfred['job'] = 'Guru';
$collection->replaceOne($alfred_id, $alfred);
?>
5.8. Класс CollectionAdd
mysql_xdevapi\CollectionAdd {
mysql_xdevapi\CollectionAdd, mysql_xdevapi\Executable
Methods public mysql_xdevapi\Result mysql_xdevapi\CollectionAdd::execute();
}
5.8.1.
CollectionAdd::__construct
CollectionAdd::__construct
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
)
5.8.2.
CollectionAdd::execute
CollectionAdd::execute
mysql_xdevapi\CollectionAdd::execute
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");
$collection = $schema->getCollection("people");
// Add two documents
$collection
->add('{"name": "Fred","age": 21, "job": "Construction"}')
->execute();
$collection
->add('{"name": "Wilma", "age": 23, "job": "Teacher"}')
->execute();
// Add two documents using a single JSON object
$result = $collection
->add('{"name": "Bernie",
"jobs": [{"title":"Cat Herder","Salary":42000},
{"title":"Father","Salary":0}],
"hobbies": ["Sports","Making cupcakes"]}',
'{"name": "Jane",
"jobs": [{"title":"Scientist","Salary":18000},
{"title":"Mother","Salary":0}],
"hobbies": ["Walking","Making pies"]}')
->execute();
// Fetch a list of generated ID's from the last add()
$ids = $result->getGeneratedIds();
print_r($ids);
?>
Array
(
[0] => 00005b6b53610000000000000056
[1] => 00005b6b53610000000000000057
)
5.9. Класс CollectionFind
mysql_xdevapi\CollectionFind {
mysql_xdevapi\CollectionFind, mysql_xdevapi\Executable,
mysql_xdevapi\CrudOperationBindable, mysql_xdevapi\CrudOperationLimitable,
mysql_xdevapi\CrudOperationSortable
Methods public mysql_xdevapi\CollectionFind mysql_xdevapi\CollectionFind::bind(array placeholder_values);
public mysql_xdevapi\DocResult mysql_xdevapi\CollectionFind::execute();
public mysql_xdevapi\CollectionFind mysql_xdevapi\CollectionFind::fields(string projection);
public mysql_xdevapi\CollectionFind mysql_xdevapi\CollectionFind::groupBy(string sort_expr);
public mysql_xdevapi\CollectionFind mysql_xdevapi\CollectionFind::having(string sort_expr);
public mysql_xdevapi\CollectionFind mysql_xdevapi\CollectionFind::limit(integer rows);
public mysql_xdevapi\CollectionFind mysql_xdevapi\CollectionFind::lockExclusive(integer lock_waiting_option);
public mysql_xdevapi\CollectionFind mysql_xdevapi\CollectionFind::lockShared(integer lock_waiting_option);
public mysql_xdevapi\CollectionFind mysql_xdevapi\CollectionFind::offset(integer position);
public mysql_xdevapi\CollectionFind mysql_xdevapi\CollectionFind::sort(string sort_expr);
}
5.9.1.
CollectionFind::bind
CollectionFind::bind
placeholder_values
mysql_xdevapi\CollectionFind::bind
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");
$result = $create
->add('{"name": "Alfred", "age": 18, "job": "Butler"}')
->execute();
// ...
$collection = $schema->getCollection("people");
$result = $collection
->find('job like :job and age > :age')
->bind(['job' => 'Butler', 'age' => 16])
->execute();
var_dump($result->fetchAll());
?>
array(1) {
[0]=>
array(4) {
["_id"]=>
string(28) "00005b6b536100000000000000cf"
["age"]=>
int(18)
["job"]=>
string(6) "Butler"
["name"]=>
string(6) "Alfred"
}
}
5.9.2.
CollectionFind::__construct
CollectionFind::__construct
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");
$result = $create
->add('{"name": "Alfred", "age": 18, "job": "Butler"}')
->execute();
// ...
$collection = $schema->getCollection("people");
$result = $collection
->find('job like :job and age > :age')
->bind(['job' => 'Butler', 'age' => 16])
->execute();
var_dump($result->fetchAll());
?>
array(1) {
[0]=>
array(4) {
["_id"]=>
string(28) "00005b6b536100000000000000cf"
["age"]=>
int(18)
["job"]=>
string(6) "Butler"
["name"]=>
string(6) "Alfred"
}
}
5.9.3.
CollectionFind::execute
CollectionFind::execute
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");
$create
->add('{"name": "Alfred", "age": 18, "job": "Butler"}')
->execute();
// ...
$collection = $schema->getCollection("people");
$result = $collection
->find('job like :job and age > :age')
->bind(['job' => 'Butler', 'age' => 16])
->execute();
var_dump($result->fetchAll());
?>
array(1) {
[0]=>
array(4) {
["_id"]=>
string(28) "00005b6b536100000000000000cf"
["age"]=>
int(18)
["job"]=>
string(6) "Butler"
["name"]=>
string(6) "Alfred"
}
}
5.9.4.
CollectionFind::fields
CollectionFind::fields
projection
mysql_xdevapi\CollectionFind::fields
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");
$create
->add('{"name": "Alfred", "age": 18, "job": "Butler"}')
->execute();
// ...
$collection = $schema->getCollection("people");
$result = $collection
->find('job like :job and age > :age')
->bind(['job' => 'Butler', 'age' => 16])
->fields('name')
->execute();
var_dump($result->fetchAll());
?>
array(1) {
[0]=>
array(1) {
["name"]=>
string(6) "Alfred"
}
}
5.9.5.
CollectionFind::groupBy
CollectionFind::groupBy
sort_expr
mysql_xdevapi\CollectionFind::groupBy
<?php
// Assuming $coll is a valid Collection object
// Extract all the documents from the Collection and group the results by the 'name' field
$res = $coll->find()->groupBy('name')->execute();
?>
5.9.6.
CollectionFind::having
CollectionFind::having
sort_expr
mysql_xdevapi\CollectionFind::having
<?php
// Assuming $coll is a valid Collection object
// Find all the documents for which the 'age' is greather than 40,
// Only the columns 'name' and 'age' are returned in the Result object
$res = $coll->find()->fields(['name','age'])->having('age > 40')->execute();
?>
5.9.7.
CollectionFind::limit
CollectionFind::limit
rows
mysql_xdevapi\CollectionFind::limit
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");
$create
->add('{"name": "Alfred", "age": 18, "job": "Butler"}')
->execute();
$create
->add('{"name": "Reginald", "age": 42, "job": "Butler"}')
->execute();
// ...
$collection = $schema->getCollection("people");
$result = $collection
->find('job like :job and age > :age')
->bind(['job' => 'Butler', 'age' => 16])
->sort('age desc')
->limit(1)
->execute();
var_dump($result->fetchAll());
?>
array(1) {
[0]=>
array(4) {
["_id"]=>
string(28) "00005b6b536100000000000000f3"
["age"]=>
int(42)
["job"]=>
string(6) "Butler"
["name"]=>
string(8) "Reginald"
}
}
5.9.8.
CollectionFind::lockExclusive
CollectionFind::lockExclusive
lock_waiting_option
MYSQLX_LOCK_DEFAULT
.
Действительные значения такие:MYSQLX_LOCK_DEFAULT
MYSQLX_LOCK_NOWAIT
MYSQLX_LOCK_SKIP_LOCKED
mysql_xdevapi\CollectionFind::lockExclusive
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");
$session->startTransaction();
$result = $collection
->find("age > 50")
->lockExclusive()
->execute();
// ... do an operation on the object
// Complete the transaction and unlock the document
$session->commit();
?>
5.9.9.
CollectionFind::lockShared
CollectionFind::lockShared
lock_waiting_option
MYSQLX_LOCK_DEFAULT
.
Действительные значения такие:MYSQLX_LOCK_DEFAULT
MYSQLX_LOCK_NOWAIT
MYSQLX_LOCK_SKIP_LOCKED
mysql_xdevapi\CollectionFind::lockShared
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");
$session->startTransaction();
$result = $collection
->find("age > 50")
->lockShared()
->execute();
// ... read the object in shared mode
// Complete the transaction and unlock the document
$session->commit();
?>
5.9.10.
CollectionFind::offset
CollectionFind::offset
position
mysql_xdevapi\CollectionFind::offset
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");
$create
->add('{"name": "Alfred", "age": 18, "job": "Butler"}')
->execute();
$create
->add('{"name": "Reginald", "age": 42, "job": "Butler"}')
->execute();
// ...
$collection = $schema->getCollection("people");
$result = $collection
->find()
->sort('age asc')
->offset(1)
->limit(1)
->execute();
var_dump($result->fetchAll());
?>
array(1) {
[0]=>
array(4) {
["_id"]=>
string(28) "00005b6b536100000000000000f3"
["age"]=>
int(42)
["job"]=>
string(6) "Butler"
["name"]=>
string(8) "Reginald"
}
}
5.9.11.
CollectionFind::sort
CollectionFind::sort
sort_expr
mysql_xdevapi\CollectionFind::sort
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");
$create
->add('{"name": "Alfred", "age": 18, "job": "Butler"}')
->execute();
$create
->add('{"name": "Reginald", "age": 42, "job": "Butler"}')
->execute();
// ...
$collection = $schema->getCollection("people");
$result = $collection
->find()
->sort('job desc', 'age asc')
->execute();
var_dump($result->fetchAll());
?>
array(2) {
[0]=>
array(4) {
["_id"]=>
string(28) "00005b6b53610000000000000106"
["age"]=>
int(18)
["job"]=>
string(6) "Butler"
["name"]=>
string(6) "Alfred"
}
[1]=>
array(4) {
["_id"]=>
string(28) "00005b6b53610000000000000107"
["age"]=>
int(42)
["job"]=>
string(6) "Butler"
["name"]=>
string(8) "Reginald"
}
}
5.10. Класс CollectionModify
mysql_xdevapi\CollectionModify {mysql_xdevapi\CollectionModify,
mysql_xdevapi\Executable, mysql_xdevapi\CrudOperationBindable,
mysql_xdevapi\CrudOperationLimitable,
mysql_xdevapi\CrudOperationSkippable,
mysql_xdevapi\CrudOperationSortable
Methods public mysql_xdevapi\CollectionModify mysql_xdevapi\CollectionModify::arrayAppend(string collection_field,
string expression_or_literal);
public mysql_xdevapi\CollectionModify mysql_xdevapi\CollectionModify::arrayInsert(string collection_field,
string expression_or_literal);
public mysql_xdevapi\CollectionModify mysql_xdevapi\CollectionModify::bind(array placeholder_values);
public mysql_xdevapi\Result mysql_xdevapi\CollectionModify::execute();
public mysql_xdevapi\CollectionModify mysql_xdevapi\CollectionModify::limit(integer rows);
public mysql_xdevapi\CollectionModify mysql_xdevapi\CollectionModify::patch(string document);
public mysql_xdevapi\CollectionModify mysql_xdevapi\CollectionModify::replace(string collection_field,
string expression_or_literal);
public mysql_xdevapi\CollectionModify mysql_xdevapi\CollectionModify::set(string collection_field,
string expression_or_literal);
public mysql_xdevapi\CollectionModify mysql_xdevapi\CollectionModify::skip(integer position);
public mysql_xdevapi\CollectionModify mysql_xdevapi\CollectionModify::sort(string sort_expr);
public mysql_xdevapi\CollectionModify mysql_xdevapi\CollectionModify::unset(array fields);
}
5.10.1.
CollectionModify::arrayAppend
CollectionModify::arrayAppend
collection_field
expression_or_literal
mysql_xdevapi\CollectionModify::arrayAppend
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");
$result = $collection
->add('{"name": "Bernie", "traits": ["Friend", "Brother", "Human"]}')
->execute();
$collection
->modify("name in ('Bernie', 'Jane')")
->arrayAppend('traits', 'Happy')
->execute();
$result = $collection
->find()
->execute();
print_r($result->fetchAll());
?>
Array
(
[0] => Array
(
[_id] => 00005b6b5361000000000000010c
[name] => Bernie
[traits] => Array
(
[0] => Friend
[1] => Brother
[2] => Human
[3] => Happy
)
)
)
5.10.2.
CollectionModify::arrayInsert
CollectionModify::arrayInsert
collection_field
FIELD_NAME[INDEX]
, где FIELD_NAME название поля
документа, чтобы вставить, а INDEX это индекс элемента в поле.expression_or_literal
mysql_xdevapi\CollectionModify::arrayInsert
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");
$result = $collection
->add('{"name": "Bernie", "traits": ["Friend", "Brother", "Human"]}')
->execute();
$collection
->modify("name in ('Bernie', 'Jane')")
->arrayInsert('traits[1]', 'Happy')
->execute();
$result = $collection
->find()
->execute();
print_r($result->fetchAll());
?>
Array
(
[0] => Array
(
[_id] => 00005b6b5361000000000000010d
[name] => Bernie
[traits] => Array
(
[0] => Friend
[1] => Happy
[2] => Brother
[3] => Human
)
)
)
5.10.3.
CollectionModify::bind
CollectionModify::bind
placeholder_values
mysql_xdevapi\CollectionModify::bind
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");
$result = $collection
->add('{"name": "Bernie", "traits": ["Friend", "Brother", "Human"]}')
->execute();
$collection
->modify("name = :name")
->bind(['name' => 'Bernie'])
->arrayAppend('traits', 'Happy')
->execute();
$result = $collection
->find()
->execute();
print_r($result->fetchAll());
?>
Array
(
[0] => Array
(
[_id] => 00005b6b53610000000000000110
[name] => Bernie
[traits] => Array
(
[0] => Friend
[1] => Brother
[2] => Human
[3] => Happy
)
)
)
5.10.4.
CollectionModify::__construct
CollectionModify::__construct
mysql_xdevapi\CollectionModify::__construct
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");
$result = $collection
->add('{"name": "Bernie", "traits": ["Friend", "Brother", "Human"]}')
->execute();
$collection
->modify("name in ('Bernie', 'Jane')")
->arrayAppend('traits', 'Happy')
->execute();
$result = $collection
->find()
->execute();
print_r($result->fetchAll());
?>
Array
(
[0] => Array
(
[_id] => 00005b6b5361000000000000010c
[name] => Bernie
[traits] => Array
(
[0] => Friend
[1] => Brother
[2] => Human
[3] => Happy
)
)
)
5.10.5.
CollectionModify::execute
CollectionModify::execute
mysql_xdevapi\CollectionModify::execute
<?php
/* ... */
?>
5.10.6.
CollectionModify::limit
CollectionModify::limit
rows
mysql_xdevapi\CollectionModify::limit
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");
$collection->add('{"name": "Fred","age": 21, "job": "Construction"}')->execute();
$collection->add('{"name": "Wilma", "age": 23, "job": "Teacher"}')->execute();
$collection->add('{"name": "Betty", "age": 24, "job": "Teacher"}')->execute();
$collection
->modify("job = :job")
->bind(['job' => 'Teacher'])
->set('job', 'Principal')
->limit(1)
->execute();
$result = $collection
->find()
->execute();
print_r($result->fetchAll());
?>
Array
(
[0] => Array
(
[_id] => 00005b6b53610000000000000118
[age] => 21
[job] => Construction
[name] => Fred
)
[1] => Array
(
[_id] => 00005b6b53610000000000000119
[age] => 23
[job] => Principal
[name] => Wilma
)
[2] => Array
(
[_id] => 00005b6b5361000000000000011a
[age] => 24
[job] => Teacher
[name] => Betty
)
)
5.10.7.
CollectionModify::patch
CollectionModify::patch
document
mysql_xdevapi\CollectionModify::patch
<?php
$res = $coll->modify('"Programmatore" IN job')->patch('{"Hobby" : "Programmare"}')->execute();
?>
5.10.8.
CollectionModify::replace
CollectionModify::replace
collection_field
expression_or_literal
mysql_xdevapi\CollectionModify::replace
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");
$result = $collection
->add('{"name": "Bernie", "traits": ["Friend", "Brother", "Human"]}')
->execute();
$collection
->modify("name = :name")
->bind(['name' => 'Bernie'])
->replace("name", "Bern")
->execute();
$result = $collection
->find()
->execute();
print_r($result->fetchAll());
?>
Array
(
[0] => Array
(
[_id] => 00005b6b5361000000000000011b
[name] => Bern
[traits] => Array
(
[0] => Friend
[1] => Brother
[2] => Human
)
)
)
5.10.9.
CollectionModify::set
CollectionModify::set
collection_field
expression_or_literal
mysql_xdevapi\CollectionModify::set
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");
$result = $collection
->add('{"name": "Bernie", "traits": ["Friend", "Brother", "Human"]}')
->execute();
$collection
->modify("name = :name")
->bind(['name' => 'Bernie'])
->set("name", "Bern")
->execute();
$result = $collection
->find()
->execute();
print_r($result->fetchAll());
?>
Array
(
[0] => Array
(
[_id] => 00005b6b53610000000000000111
[name] => Bern
[traits] => Array
(
[0] => Friend
[1] => Brother
[2] => Human
)
)
)
5.10.10.
CollectionModify::skip
CollectionModify::skip
position
mysql_xdevapi\CollectionModify::skip
<?php
$coll->modify('age > :age')->sort('age desc')->unset(['age'])->bind(['age' => 20])->limit(4)->skip(1)->execute();
?>
5.10.11.
CollectionModify::sort
CollectionModify::sort
sort_expr
mysql_xdevapi\CollectionModify::sort
<?php
$res = $coll->modify('true')->sort('name desc',
'age asc')->limit(4)->set('Married', 'NO')->execute();
?>
5.10.12.
CollectionModify::unset
CollectionModify::unset
fields
mysql_xdevapi\CollectionModify::unset
<?php
$res = $coll->modify('job like :job_name')->unset(["age",
"name"])->bind(['job_name' => 'Plumber'])->execute();
?>
5.11. Класс CollectionRemove
mysql_xdevapi\CollectionRemove {mysql_xdevapi\CollectionRemove,
mysql_xdevapi\Executable, mysql_xdevapi\CrudOperationBindable,
mysql_xdevapi\CrudOperationLimitable,
mysql_xdevapi\CrudOperationSortable
Methods public mysql_xdevapi\CollectionRemove mysql_xdevapi\CollectionRemove::bind(array placeholder_values);
public mysql_xdevapi\Result mysql_xdevapi\CollectionRemove::execute();
public mysql_xdevapi\CollectionRemove mysql_xdevapi\CollectionRemove::limit(integer rows);
public mysql_xdevapi\CollectionRemove mysql_xdevapi\CollectionRemove::sort(string sort_expr);
}
5.11.1.
CollectionRemove::bind
CollectionRemove::bind
placeholder_values
mysql_xdevapi\CollectionRemove::bind
<?php
$res = $coll->remove('age > :age_from and age < :age_to')->bind(['age_from' => 20, 'age_to' => 50])->limit(7)->execute();
?>
5.11.2.
CollectionRemove::__construct
CollectionRemove::__construct
mysql_xdevapi\Collection::remove
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("people");
$collection->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
$collection->add('{"name": "Bob","age": 19, "job": "Painter"}')->execute();
// Remove all painters
$collection
->remove("job in ('Painter')")
->execute();
// Remove the oldest butler
$collection
->remove("job in ('Butler')")
->sort('age desc')
->limit(1)
->execute();
// Remove record with lowest age
$collection
->remove('true')
->sort('age desc')
->limit(1)
->execute();
?>
5.11.3.
CollectionRemove::execute
CollectionRemove::execute
mysql_xdevapi\CollectionRemove::execute
<?php
$res = $coll->remove('true')->sort('age desc')->limit(2)->execute();
?>
5.11.4.
CollectionRemove::limit
CollectionRemove::limit
rows
mysql_xdevapi\CollectionRemove::limit
<?php
$res = $coll->remove('job in (\'Barista\', \'Programmatore\',
\'Ballerino\', \'Programmatrice\')')->limit(5)->sort(['age desc', 'name asc'])->execute();
?>
5.11.5.
CollectionRemove::sort
CollectionRemove::sort
sort_expr
mysql_xdevapi\CollectionRemove::sort
<?php
$res = $coll->remove('true')->sort('age desc')->limit(2)->execute();
?>
5.12.
Класс ColumnResult
mysql_xdevapi\ColumnResult {mysql_xdevapi\ColumnResult
Methods public string mysql_xdevapi\ColumnResult::getCharacterSetName();
public string mysql_xdevapi\ColumnResult::getCollationName();
public string mysql_xdevapi\ColumnResult::getColumnLabel();
public string mysql_xdevapi\ColumnResult::getColumnName();
public integer mysql_xdevapi\ColumnResult::getFractionalDigits();
public integer mysql_xdevapi\ColumnResult::getLength();
public string mysql_xdevapi\ColumnResult::getSchemaName();
public string mysql_xdevapi\ColumnResult::getTableLabel();
public string mysql_xdevapi\ColumnResult::getTableName();
public integer mysql_xdevapi\ColumnResult::getType();
public integer mysql_xdevapi\ColumnResult::isNumberSigned();
public integer mysql_xdevapi\ColumnResult::isPadded();
}
5.12.1.
ColumnResult::__construct
ColumnResult::__construct
mysql_xdevapi\ColumnResult::__construct
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS nonsense")->execute();
$session->sql("CREATE DATABASE nonsense")->execute();
$session->sql("CREATE TABLE nonsense.numbers (hello int, world float unsigned)")->execute();
$session->sql("INSERT INTOnonsense.numbers values (42, 42)")->execute();
$schema = $session->getSchema("nonsense");
$table= $schema->getTable("numbers");
$result1 = $table->select('hello','world')->execute();
// Returns an array of ColumnResult objects
$columns = $result1->getColumns();
foreach ($columns as $column) {
echo "\nColumn label " , $column->getColumnLabel();
echo " is type " , $column->getType();
echo " and is ", ($column->isNumberSigned() === 0) ? "Unsigned." : "Signed.";
}
// Alternatively
$result2 = $session->sql("SELECT * FROM nonsense.numbers")->execute();
// Returns an array of FieldMetadata objects
print_r($result2->getColumns());
?>
Column label hello is type 19 and is Signed.
Column label world is type 4and is Unsigned.
Array
(
[0] => mysql_xdevapi\FieldMetadata Object
(
[type] => 1
[type_name] => SINT
[name] => hello
[original_name] => hello
[table] => numbers
[original_table] => numbers
[schema] => nonsense
[catalog] => def
[collation] => 0
[fractional_digits] => 0
[length] => 11
[flags] => 0
[content_type] => 0
)
[1] => mysql_xdevapi\FieldMetadata Object
(
[type] => 6
[type_name] => FLOAT
[name] => world
[original_name] => world
[table] => numbers
[original_table] => numbers
[schema] => nonsense
[catalog] => def
[collation] => 0
[fractional_digits] => 31
[length] => 12
[flags] => 1
[content_type] => 0
)
)
5.12.2.
ColumnResult::getCharacterSetName
ColumnResult::getCharacterSetName
mysql_xdevapi\ColumnResult::getCharacterSetName
<?php
/* ... */
?>
5.12.3.
ColumnResult::getCollationName
ColumnResult::getCollationName
mysql_xdevapi\ColumnResult::getCollationName
<?php
/* ... */
?>
5.12.4.
ColumnResult::getColumnLabel
ColumnResult::getColumnLabel
mysql_xdevapi\ColumnResult::getColumnLabel
<?php
/* ... */
?>
5.12.5.
ColumnResult::getColumnName
ColumnResult::getColumnName
mysql_xdevapi\ColumnResult::getColumnName
<?php
/* ... */
?>
5.12.6.
ColumnResult::getFractionalDigits
ColumnResult::getFractionalDigits
mysql_xdevapi\ColumnResult::getFractionalDigits
<?php
/* ... */
?>
5.12.7.
ColumnResult::getLength
ColumnResult::getLength
mysql_xdevapi\ColumnResult::getLength
<?php
/* ... */
?>
5.12.8.
ColumnResult::getSchemaName
ColumnResult::getSchemaName
mysql_xdevapi\ColumnResult::getSchemaName
<?php
/* ... */
?>
5.12.9.
ColumnResult::getTableLabel
ColumnResult::getTableLabel
mysql_xdevapi\ColumnResult::getTableLabel
<?php
/* ... */
?>
5.12.10.
ColumnResult::getTableName
ColumnResult::getTableName
mysql_xdevapi\ColumnResult::getTableName
<?php
/* ... */
?>
5.12.11.
ColumnResult::getType
ColumnResult::getType
mysql_xdevapi\ColumnResult::getType
<?php
/* ... */
?>
5.12.12.
ColumnResult::isNumberSigned
ColumnResult::isNumberSigned
TRUE
, если данная колонка имеет
тип со знаком.
mysql_xdevapi\ColumnResult::isNumberSigned
<?php
/* ... */
?>
5.12.13.
ColumnResult::isPadded
ColumnResult::isPadded
TRUE
, если столбец дополнен.mysql_xdevapi\ColumnResult::isPadded
<?php
/* ... */
?>
5.13. Интерфейс CrudOperationBindable
mysql_xdevapi\CrudOperationBindable {mysql_xdevapi\CrudOperationBindable
Methods
abstract public mysql_xdevapi\CrudOperationBindable mysql_xdevapi\CrudOperationBindable::bind(array placeholder_values);
}
5.13.1.
CrudOperationBindable::bind
CrudOperationBindable::bind
abstract public mysql_xdevapi\CrudOperationBindable mysql_xdevapi\CrudOperationBindable::bind(array placeholder_values);
placeholder_values
mysql_xdevapi\CrudOperationBindable::bind
<?php
$res = $coll->modify('name like :name')->arrayInsert('job[0]', 'Calciatore')->bind(['name' => 'ENTITY'])->execute();
$res = $table->delete()->orderby('age desc')->where('age < 20 and age > 12 and name != :name')->bind(['name' => 'Tierney'])->limit(2)->execute();
?>
5.14. Интерфейс CrudOperationLimitable
mysql_xdevapi\CrudOperationLimitable {mysql_xdevapi\CrudOperationLimitable
Methods
abstract public mysql_xdevapi\CrudOperationLimitable
mysql_xdevapi\CrudOperationLimitable::limit(integer rows);
}
5.14.1.
CrudOperationLimitable::limit
CrudOperationLimitable::limit
abstract public mysql_xdevapi\CrudOperationLimitable
mysql_xdevapi\CrudOperationLimitable::limit(integer rows);
rows
mysql_xdevapi\CrudOperationLimitable::limit
<?php
$res = $coll->find()->fields(['name as n','age as a','job as j'])->groupBy('j')->limit(11)->execute();
$res = $table->update()->set('age',69)->where('age > 15 and age < 22')->limit(4)->orderby(['age asc','name desc'])->execute();
?>
5.15. Интерфейс CrudOperationSkippable
mysql_xdevapi\CrudOperationSkippable {mysql_xdevapi\CrudOperationSkippable
Methods
abstract public mysql_xdevapi\CrudOperationSkippable
mysql_xdevapi\CrudOperationSkippable::skip(integer skip);
}
5.15.1.
CrudOperationSkippable::skip
CrudOperationSkippable::skip
abstract public mysql_xdevapi\CrudOperationSkippable
mysql_xdevapi\CrudOperationSkippable::skip(integer skip);
skip
mysql_xdevapi\CrudOperationSkippable::skip
<?php
$res = $coll->find('job like \'Programmatore\'')->limit(1)->skip(3)->sort('age asc')->execute();
?>
5.16. Интерфейс CrudOperationSortable
mysql_xdevapi\CrudOperationSortable {mysql_xdevapi\CrudOperationSortable
Methods
abstract public mysql_xdevapi\CrudOperationSortable
mysql_xdevapi\CrudOperationSortable::sort(string sort_expr);
}
5.16.1.
CrudOperationSortable::sort
CrudOperationSortable::sort
abstract public mysql_xdevapi\CrudOperationSortable
mysql_xdevapi\CrudOperationSortable::sort(string sort_expr);
sort_expr
mysql_xdevapi\CrudOperationSortable::sort
<?php
$res = $coll->find('job like \'Cavia\'')->sort('age desc', '_id desc')->execute();
?>
5.17. DatabaseObject interface
mysql_xdevapi\DatabaseObject {mysql_xdevapi\DatabaseObject
Methods
abstract public bool mysql_xdevapi\DatabaseObject::existsInDatabase();
abstract public string mysql_xdevapi\DatabaseObject::getName();
abstract public mysql_xdevapi\Session mysql_xdevapi\DatabaseObject::getSession();
}
5.17.1
DatabaseObject::existsInDatabase
DatabaseObject::existsInDatabase
abstract public bool mysql_xdevapi\DatabaseObject::existsInDatabase();
TRUE
, если объект существует в базе данных,
иначе вернет FALSE
.
mysql_xdevapi\DatabaseObject::existsInDatabase
<?php
$existInDb = $dbObj->existsInDatabase();
?>
5.17.2.
DatabaseObject::getName
DatabaseObject::getName
abstract public string mysql_xdevapi\DatabaseObject::getName();
mysql_xdevapi\DatabaseObject::getName
<?php
$dbObjName = $dbObj->getName();
?>
5.17.3.
DatabaseObject::getSession
DatabaseObject::getSession
abstract public mysql_xdevapi\Session mysql_xdevapi\DatabaseObject::getSession();
mysql_xdevapi\DatabaseObject::getSession
<?php
$session = $dbObj->getSession();
?>
5.18. Класс DocResult
mysql_xdevapi\DocResult {mysql_xdevapi\DocResult,
mysql_xdevapi\BaseResult, Traversable
Methods public array mysql_xdevapi\DocResult::fetchAll();
public array mysql_xdevapi\DocResult::fetchOne();
public Array mysql_xdevapi\DocResult::getWarnings();
public integer mysql_xdevapi\DocResult::getWarningsCount();
}
5.18.1.
DocResult::__construct
DocResult::__construct
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");
$create->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
$create->add('{"name": "Reginald", "age": 42, "job": "Butler"}')->execute();
// ...
$collection = $schema->getCollection("people");
// Yields a DocResult object
$result = $collection
->find('job like :job and age > :age')
->bind(['job' => 'Butler', 'age' => 16])
->sort('age desc')
->limit(1)
->execute();
var_dump($result->fetchAll());
?>
array(1) {
[0]=>
array(4) {
["_id"]=>
string(28) "00005b6b536100000000000000f3"
["age"]=>
int(42)
["job"]=>
string(6) "Butler"
["name"]=>
string(8) "Reginald"
}
}
5.18.2.
DocResult::fetchAll
DocResult::fetchAll
mysql_xdevapi\DocResult::fetchAll
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");
$create->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
$create->add('{"name": "Reginald", "age": 42, "job": "Butler"}')->execute();
// ...
$collection = $schema->getCollection("people");
// Yields a DocResult object
$result = $collection
->find('job like :job and age > :age')
->bind(['job' => 'Butler', 'age' => 16])
->sort('age desc')
->execute();
var_dump($result->fetchAll());
?>
array(2) {
[0]=>
array(4) {
["_id"]=>
string(28) "00005b6b53610000000000000123"
["age"]=>
int(42)
["job"]=>
string(6) "Butler"
["name"]=>
string(8) "Reginald"
}
[1]=>
array(4) {
["_id"]=>
string(28) "00005b6b53610000000000000122"
["age"]=>
int(18)
["job"]=>
string(6) "Butler"
["name"]=>
string(6) "Alfred"
}
}
5.18.3.
DocResult::fetchOne
DocResult::fetchOne
NULL
,
если никакие результаты не присутствуют.mysql_xdevapi\DocResult::fetchOne
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");
$create->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
$create->add('{"name": "Reginald", "age": 42, "job": "Butler"}')->execute();
// ...
$collection = $schema->getCollection("people");
// Yields a DocResult object
$result = $collection
->find('job like :job and age > :age')
->bind(['job' => 'Butler', 'age' => 16])
->sort('age desc')
->execute();
var_dump($result->fetchOne());
?>
array(4) {
["_id"]=>
string(28) "00005b6b53610000000000000125"
["age"]=>
int(42)
["job"]=>
string(6) "Butler"
["name"]=>
string(8) "Reginald"
}
5.18.4.
DocResult::getWarnings
DocResult::getWarnings
mysql_xdevapi\DocResult::getWarnings
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");
$create->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
$create->add('{"name": "Reginald", "age": 42, "job": "Butler"}')->execute();
// ...
$collection = $schema->getCollection("people");
// Yields a DocResult object
$result = $collection
->find('job like :job and age > :age')
->bind(['job' => 'Butler', 'age' => 16])
->sort('age desc')
->execute();
if (!$result->getWarningsCount()) {
echo "There was an error:\n";
print_r($result->getWarnings());
exit;
}
var_dump($result->fetchOne());
?>
There was an error:
Array
(
[0] => mysql_xdevapi\Warning Object
(
[message] => Something bad and so on
[level] => 2
[code] => 1365
)
[1] => mysql_xdevapi\Warning Object
(
[message] => Something bad and so on
[level] => 2
[code] => 1365
)
)
5.18.5.
DocResult::getWarningsCount
DocResult::getWarningsCount
mysql_xdevapi\DocResult::getWarningsCount
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");
$create->add('{"name": "Alfred", "age": 18, "job": "Butler"}')->execute();
$create->add('{"name": "Reginald", "age": 42, "job": "Butler"}')->execute();
// ...
$collection = $schema->getCollection("people");
// Yields a DocResult object
$result = $collection
->find('job like :job and age > :age')
->bind(['job' => 'Butler', 'age' => 16])
->sort('age desc')
->execute();
if (!$result->getWarningsCount()) {
echo "There was an error:\n";
print_r($result->getWarnings());
exit;
}
var_dump($result->fetchOne());
?>
array(4) {
["_id"]=>
string(28) "00005b6b53610000000000000135"
["age"]=>
int(42)
["job"]=>
string(6) "Butler"
["name"]=>
string(8) "Reginald"
}
5.19. Класс Exception
mysql_xdevapi\Exception {mysql_xdevapi\Exception,
extends RuntimeException, Throwable}
5.20. Интерфейс Executable
mysql_xdevapi\Executable {mysql_xdevapi\Executable
Methods
abstract public mysql_xdevapi\Result mysql_xdevapi\Executable::execute();
}
5.20.1.
Executable::execute
Executable::execute
abstract public mysql_xdevapi\Result mysql_xdevapi\Executable::execute();
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$result_sql = $session->sql("CREATE DATABASE addressbook")->execute();
var_dump($result_sql);
$schema = $session->getSchema("addressbook");
$collection = $schema->createCollection("humans");
$result_collection = $collection->add('{"name": "Jane",
"jobs": [{"title":"Scientist","Salary":18000},
{"title":"Mother","Salary":0}],
"hobbies": ["Walking","Making pies"]}');
$result_collection_executed = $result_collection->execute();
var_dump($result_collection);
var_dump($result_collection_executed);
?>
object(mysql_xdevapi\SqlStatementResult)#3 (0) { }
object(mysql_xdevapi\CollectionAdd)#5 (0) { }
object(mysql_xdevapi\Result)#7 (0) { }
5.21. Класс ExecutionStatus
mysql_xdevapi\ExecutionStatus {mysql_xdevapi\ExecutionStatus
Properties public affectedItems ;
public matchedItems ;
public foundItems ;
public lastInsertId ;
public lastDocumentId ;
Constructor private mysql_xdevapi\ExecutionStatus::__construct();
}
5.21.1.
ExecutionStatus::__construct
ExecutionStatus::__construct
mysql_xdevapi\ExecutionStatus::__construct
<?php
/* ... */
?>
5.22. Класс Expression
mysql_xdevapi\Expression {mysql_xdevapi\Expression
Properties public name ;
Constructor public mysql_xdevapi\Expression::__construct(string expression);
}
5.22.1.
Expression::__construct
Expression::__construct
expression
mysql_xdevapi\Expression::__construct
<?php
/* ... */
?>
5.23. Класс Result
mysql_xdevapi\Result {mysql_xdevapi\Result,
mysql_xdevapi\BaseResult, Traversable
Methods public int mysql_xdevapi\Result::getAffectedItemsCount();
public int mysql_xdevapi\Result::getAutoIncrementValue();
public array mysql_xdevapi\Result::getGeneratedIds();
public array mysql_xdevapi\Result::getWarnings();
public integer mysql_xdevapi\Result::getWarningsCount();
}
5.23.1.
Result::__construct
Result::__construct
mysql_xdevapi\Result::__construct
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names
(id INT NOT NULL AUTO_INCREMENT, name VARCHAR(30),
age INT, PRIMARY KEY (id))")->execute();
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$result = $table->insert("name", "age")->values(["Suzanne", 31],["Julie", 43])->execute();
$result = $table->insert("name", "age")->values(["Suki", 34])->execute();
$ai = $result->getAutoIncrementValue();
var_dump($ai);
?>
int(3)
5.23.2.
Result::getAffectedItemsCount
Result::getAffectedItemsCount
mysql_xdevapi\Result::getAffectedItemsCount
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");
$collection = $schema->getCollection("people");
$result = $collection->add('{"name": "Wilma", "age": 23, "job": "Teacher"}')->execute();
var_dump( $res->getAffectedItemsCount() );
?>
int(1)
5.23.3.
Result::getAutoIncrementValue
Result::getAutoIncrementValue
mysql_xdevapi\Result::getAutoIncrementValue
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names
(id INT NOT NULL AUTO_INCREMENT, name VARCHAR(30),
age INT, PRIMARY KEY (id))")->execute();
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$result = $table->insert("name", "age")->values(["Suzanne", 31],["Julie", 43])->execute();
$result = $table->insert("name", "age")->values(["Suki", 34])->execute();
$ai = $result->getAutoIncrementValue();
var_dump($ai);
?>
int(3)
5.23.4.
Result::getGeneratedIds
Result::getGeneratedIds
mysql_xdevapi\Result::getGeneratedIds
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema = $session->getSchema("addressbook");
$create = $schema->createCollection("people");
$collection = $schema->getCollection("people");
$result = $collection->add('{"name": "Bernie",
"jobs": [{"title":"Cat Herder","Salary":42000},
{"title":"Father","Salary":0}],
"hobbies": ["Sports","Making cupcakes"]}',
'{"name": "Jane", "jobs": [{"title":"Scientist","Salary":18000},
{"title":"Mother","Salary":0}],
"hobbies": ["Walking","Making pies"]}')->execute();
$ids = $result->getGeneratedIds();
var_dump($ids);
?>
array(2) {
[0]=>
string(28) "00005b6b53610000000000000064"
[1]=>
string(28) "00005b6b53610000000000000065"
}
5.23.5.
Result::getWarnings
Result::getWarnings
mysql_xdevapi\RowResult::getWarnings
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("CREATE DATABASE foo")->execute();
$session->sql("CREATE TABLE foo.test_table(x int)")->execute();
$schema = $session->getSchema("foo");
$table= $schema->getTable("test_table");
$table->insert(['x'])->values([1])->values([2])->execute();
$res = $table->select(['x/0 as bad_x'])->execute();
$warnings = $res->getWarnings();
print_r($warnings);
?>
Array
(
[0] => mysql_xdevapi\Warning Object
(
[message] => Division by 0
[level] => 2
[code] => 1365
)
[1] => mysql_xdevapi\Warning Object
(
[message] => Division by 0
[level] => 2
[code] => 1365
)
)
5.23.6.
Result::getWarningsCount
Result::getWarningsCount
mysql_xdevapi\RowResult::getWarningsCount
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS foo")->execute();
$session->sql("CREATE DATABASE foo")->execute();
$session->sql("CREATE TABLE foo.test_table(x int)")->execute();
$schema = $session->getSchema("foo");
$table= $schema->getTable("test_table");
$table->insert(['x'])->values([1])->values([2])->execute();
$res = $table->select(['x/0 as bad_x'])->execute();
echo $res->getWarningsCount();
?>
2
5.24. Класс RowResult
mysql_xdevapi\RowResult {mysql_xdevapi\RowResult,
mysql_xdevapi\BaseResult, Traversable
Methods public array mysql_xdevapi\RowResult::fetchAll();
public array mysql_xdevapi\RowResult::fetchOne();
public integer mysql_xdevapi\RowResult::getColumnsCount();
public array mysql_xdevapi\RowResult::getColumnNames();
public array mysql_xdevapi\RowResult::getColumns();
public array mysql_xdevapi\RowResult::getWarnings();
public integer mysql_xdevapi\RowResult::getWarningsCount();
}
5.24.1.
RowResult::__construct
RowResult::__construct
mysql_xdevapi\RowResult::__construct
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$row = $table->select('name', 'age')->where('age > 18')->execute()->fetchAll();
print_r($row);
?>
Array
(
[0] => Array
(
[name] => John
[age] => 42
)
[1] => Array
(
[name] => Sam
[age] => 33
)
)
5.24.2.
RowResult::fetchAll
RowResult::fetchAll
mysql_xdevapi\RowResult::fetchAll
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$row = $table->select('name', 'age')->execute()->fetchAll();
print_r($row);
?>
Array
(
[0] => Array
(
[name] => John
[age] => 42
)
[1] => Array
(
[name] => Sam
[age] => 33
)
)
5.24.3.
RowResult::fetchOne
RowResult::fetchOne
NULL
,
если никакие результаты не присутствуют.mysql_xdevapi\RowResult::fetchOne
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$row = $table->select('name', 'age')->where('age < 40')->execute()->fetchOne();
print_r($row);
?>
Array
(
[name] => Sam
[age] => 33
)
5.24.4.
RowResult::getColumnsCount
RowResult::getColumnsCount
Версия
Описание 8.0.14
Метод переименован из getColumnCount() в getColumnsCount().
mysql_xdevapi\RowResult::getColumnsCount
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE addressbook")->execute();
$session->sql("CREATE DATABASE foo")->execute();
$session->sql("CREATE TABLE foo.test_table(x int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
$sql = $session->sql("SELECT * from addressbook.names")->execute();
echo $sql->getColumnsCount();
?>
2
5.24.5.
RowResult::getColumnNames
RowResult::getColumnNames
mysql_xdevapi\RowResult::getColumnNames
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE addressbook")->execute();
$session->sql("CREATE DATABASE foo")->execute();
$session->sql("CREATE TABLE foo.test_table(x int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
$sql = $session->sql("SELECT * from addressbook.names")->execute();
$colnames = $sql->getColumnNames();
print_r($colnames);
?>
Array
(
[0] => name
[1] => age
)
5.24.6.
RowResult::getColumns
RowResult::getColumns
mysql_xdevapi\RowResult::getColumns
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE addressbook")->execute();
$session->sql("CREATE DATABASE foo")->execute();
$session->sql("CREATE TABLE foo.test_table(x int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
$sql = $session->sql("SELECT * from addressbook.names")->execute();
$cols = $sql->getColumns();
print_r($cols);
?>
Array
(
[0] => mysql_xdevapi\FieldMetadata Object
(
[type] => 7
[type_name] => BYTES
[name] => name
[original_name] => name
[table] => names
[original_table] => names
[schema] => addressbook
[catalog] => def
[collation] => 255
[fractional_digits] => 0
[length] => 65535
[flags] => 0
[content_type] => 0
)
[1] => mysql_xdevapi\FieldMetadata Object
(
[type] => 1
[type_name] => SINT
[name] => age
[original_name] => age
[table] => names
[original_table] => names
[schema] => addressbook
[catalog] => def
[collation] => 0
[fractional_digits] => 0
[length] => 11
[flags] => 0
[content_type] => 0
)
)
5.24.7.
RowResult::getWarnings
RowResult::getWarnings
mysql_xdevapi\RowResult::getWarnings
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("CREATE DATABASE foo")->execute();
$session->sql("CREATE TABLE foo.test_table(x int)")->execute();
$schema = $session->getSchema("foo");
$table= $schema->getTable("test_table");
$table->insert(['x'])->values([1])->values([2])->execute();
$res = $table->select(['x/0 as bad_x'])->execute();
$warnings = $res->getWarnings();
print_r($warnings);
?>
Array
(
[0] => mysql_xdevapi\Warning Object
(
[message] => Division by 0
[level] => 2
[code] => 1365
)
[1] => mysql_xdevapi\Warning Object
(
[message] => Division by 0
[level] => 2
[code] => 1365
)
)
5.24.8.
RowResult::getWarningsCount
RowResult::getWarningsCount
mysql_xdevapi\RowResult::getWarningsCount
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS foo")->execute();
$session->sql("CREATE DATABASE foo")->execute();
$session->sql("CREATE TABLE foo.test_table(x int)")->execute();
$schema = $session->getSchema("foo");
$table= $schema->getTable("test_table");
$table->insert(['x'])->values([1])->values([2])->execute();
$res = $table->select(['x/0 as bad_x'])->execute();
echo $res->getWarningsCount();
?>
2
5.25. Класс Schema
mysql_xdevapi\Schema {mysql_xdevapi\Schema, mysql_xdevapi\DatabaseObject
Properties public name ;
Methods public mysql_xdevapi\Collection mysql_xdevapi\Schema::createCollection(string Имя);
public bool mysql_xdevapi\Schema::dropCollection(string collection_name);
public bool mysql_xdevapi\Schema::existsInDatabase();
public mysql_xdevapi\Collection mysql_xdevapi\Schema::getCollection(string Имя);
public mysql_xdevapi\Table mysql_xdevapi\Schema::getCollectionAsTable(string Имя);
public array mysql_xdevapi\Schema::getCollections();
public string mysql_xdevapi\Schema::getName();
public mysql_xdevapi\Session mysql_xdevapi\Schema::getSession();
public mysql_xdevapi\Table mysql_xdevapi\Schema::getTable(string Имя);
public array mysql_xdevapi\Schema::getTables();
}
5.25.1.
Schema::__construct
Schema::__construct
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS food")->execute();
$session->sql("CREATE DATABASE food")->execute();
$session->sql("CREATE TABLE food.fruit(name text, rating text)")->execute();
$schema = $session->getSchema("food");
$schema->createCollection("trees");
print_r($schema->gettables());
print_r($schema->getcollections());
Array
(
[fruit] => mysql_xdevapi\Table Object
(
[name] => fruit
)
)
Array
(
[trees] => mysql_xdevapi\Collection Object
(
[name] => trees
)
)
5.25.2.
Schema::createCollection
Schema::createCollection
name
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS food")->execute();
$session->sql("CREATE DATABASE food")->execute();
$session->sql("CREATE TABLE food.fruit(name text, rating text)")->execute();
$schema = $session->getSchema("food");
$schema->createCollection("trees");
print_r($schema->gettables());
print_r($schema->getcollections());
?>
Array
(
[fruit] => mysql_xdevapi\Table Object
(
[name] => fruit
)
)
Array
(
[trees] => mysql_xdevapi\Collection Object
(
[name] => trees
)
)
5.25.3.
Schema::dropCollection
Schema::dropCollection
collection_name
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS food")->execute();
$session->sql("CREATE DATABASE food")->execute();
$session->sql("CREATE TABLE food.fruit(name text, rating text)")->execute();
$schema = $session->getSchema("food");
$schema->createCollection("trees");
$schema->dropCollection("trees");
$schema->createCollection("buildings");
print_r($schema->gettables());
print_r($schema->getcollections());
?>
Array
(
[fruit] => mysql_xdevapi\Table Object
(
[name] => fruit
)
)
Array
(
[buildings] => mysql_xdevapi\Collection Object
(
[name] => buildings
)
)
5.25.4.
Schema::existsInDatabase
Schema::existsInDatabase
TRUE
, если схема, таблица, коллекция или
представление существуют в схеме, иначе
FALSE
.
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS food")->execute();
$session->sql("CREATE DATABASE food")->execute();
$session->sql("CREATE TABLE food.fruit(name text, rating text)")->execute();
$schema = $session->getSchema("food");
$schema->createCollection("trees");
// ...
$trees = $schema->getCollection("trees");
// ...
// Is this collection still in the database (schema)?
if ($trees->existsInDatabase()) {
echo "Yes, the 'trees' collection is still present.";
}
?>
Yes, the 'trees' collection is still present.
5.25.5.
Schema::getCollection
Schema::getCollection
name
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS food")->execute();
$session->sql("CREATE DATABASE food")->execute();
$schema = $session->getSchema("food");
$schema->createCollection("trees");
// ...
$trees = $schema->getCollection("trees");
var_dump($trees);
?>
object(mysql_xdevapi\Collection)#3 (1)
{
["name"]=>
string(5) "trees"
}
5.25.6.
Schema::getCollectionAsTable
Schema::getCollectionAsTable
name
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema= $session->getSchema("addressbook");
$collect = $schema->createCollection("people");
$collect->add('{"name": "Fred","age": 21, "job": "Construction"}')->execute();
$collect->add('{"name": "Wilma", "age": 23, "job": "Teacher"}')->execute();
$table= $schema->getCollectionAsTable("people");
$collection = $schema->getCollection("people");
var_dump($table);
var_dump($collection);
?>
object(mysql_xdevapi\Table)#4 (1)
{
["name"]=>
string(6) "people"
}
object(mysql_xdevapi\Collection)#5 (1)
{
["name"]=>
string(6) "people"
}
5.25.7.
Schema::getCollections
Schema::getCollections
mysql_xdevapi\Schema::getCollections
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema= $session->getSchema("addressbook");
$collect = $schema->createCollection("people");
$collect->add('{"name": "Fred","age": 21, "job": "Construction"}')->execute();
$collect->add('{"name": "Wilma", "age": 23, "job": "Teacher"}')->execute();
$collections = $schema->getCollections();
var_dump($collections);
?>
array(1)
{
["people"]=>
object(mysql_xdevapi\Collection)#4 (1)
{
["name"]=>
string(6) "people"
}
}
5.25.8.
Schema::getName
Schema::getName
mysql_xdevapi\Schema::getName
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema= $session->getSchema("addressbook");
// ...
var_dump($schema->getName());
?>
string(11) "addressbook"
5.25.9.
Schema::getSession
Schema::getSession
mysql_xdevapi\Schema::getSession
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$schema= $session->getSchema("addressbook");
// ...
$newsession = $schema->getSession();
var_dump($session);
var_dump($newsession);
?>
object(mysql_xdevapi\Session)#1 (0) { }
object(mysql_xdevapi\Session)#3 (0) { }
5.25.10.
Schema::getTable
Schema::getTable
name
mysql_xdevapi\Schema::getTable
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$row = $table->select('name', 'age')->execute()->fetchAll();
print_r($row);
?>
Array
(
[0] => Array
(
[name] => John
[age] => 42
)
[1] => Array
(
[name] => Sam
[age] => 33
)
)
5.25.11.
Schema::getTables
Schema::getTables
mysql_xdevapi\Schema::getTables
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
$session->sql("CREATE TABLE addressbook.cities(name text, population int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('Portland', 639863), ('Seattle', 704352)")->execute();
$schema = $session->getSchema("addressbook");
$tables = $schema->getTables();
var_dump($tables);
?>
array(2)
{
["cities"]=>
object(mysql_xdevapi\Table)#3 (1)
{
["name"]=>
string(6) "cities"
}
["names"]=>
object(mysql_xdevapi\Table)#4 (1)
{
["name"]=>
string(5) "names"
}
}
5.26.
Интерфейс SchemaObject
mysql_xdevapi\SchemaObject {mysql_xdevapi\SchemaObject,
mysql_xdevapi\DatabaseObject
Methods
abstract mysql_xdevapi\Schema mysql_xdevapi\SchemaObject::getSchema();
}
5.26.1.
SchemaObject::getSchema
SchemaObject::getSchema
abstract mysql_xdevapi\Schema mysql_xdevapi\SchemaObject::getSchema();
mysql_xdevapi\Session::getSchema
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$schema= $session->getSchema("addressbook");
print_r($schema);
?>
mysql_xdevapi\Schema Object
(
[name] => addressbook
)
5.27. Класс Session
mysql_xdevapi\Session {mysql_xdevapi\Session
Methods public bool mysql_xdevapi\Session::close();
public Object mysql_xdevapi\Session::commit();
public mysql_xdevapi\Schema mysql_xdevapi\Session::createSchema(string schema_name);
public bool mysql_xdevapi\Session::dropSchema(string schema_name);
public string mysql_xdevapi\Session::generateUUID();
public string mysql_xdevapi\Session::getDefaultSchema();
public mysql_xdevapi\Schema mysql_xdevapi\Session::getSchema(string schema_name);
public array mysql_xdevapi\Session::getSchemas();
public integer mysql_xdevapi\Session::getServerVersion();
public array mysql_xdevapi\Session::listClients();
public string mysql_xdevapi\Session::quoteName(string Имя);
public void mysql_xdevapi\Session::releaseSavepoint(string Имя);
public void mysql_xdevapi\Session::rollback();
public void mysql_xdevapi\Session::rollbackTo(string Имя);
public string mysql_xdevapi\Session::setSavepoint(string Имя);
public mysql_xdevapi\SqlStatement mysql_xdevapi\Session::sql(string query);
public void mysql_xdevapi\Session::startTransaction();
}
5.27.1.
Session::close
Session::close
TRUE
, если сессия закрыта.mysql_xdevapi\Session::close
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$session->close();
?>
5.27.2.
Session::commit
Session::commit
mysql_xdevapi\Session::commit
<?php
$session= mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$collection = $session->getSchema("addressbook")->getCollection("friends");
$session->startTransaction();
$collection->add('{"John":42, "Sam":33}')->execute();
$savepoint = $session->setSavepoint();
$session->commit();
$session->close();
?>
5.27.3.
Session::__construct
Session::__construct
mysql_xdevapi\Session::__construct
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->close();
?>
5.27.4.
Session::createSchema
Session::createSchema
schema_name
mysql_xdevapi\Session::createSchema
<?php
$uri= 'mysqlx://happyuser:password@127.0.0.1:33060/';
$sess = mysql_xdevapi\getSession($uri);
try {
if ($schema = $sess->createSchema('fruit')) {
echo "Info: I created a schema named 'fruit'\n";
}
} catch (Exception $e) {
echo $e->getMessage();
}
?>
Info: I created a schema named 'fruit'
5.27.5.
Session::dropSchema
Session::dropSchema
schema_name
TRUE
, если схема удалена,
FALSE
, если схема не существует или не
может быть удалена.E_WARNING
произведен, если схема не существует.mysql_xdevapi\Session::dropSchema
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->dropSchema("addressbook");
$session->close();
?>
5.27.6.
Session::generateUUID
Session::generateUUID
mysql_xdevapi\Session::generateUuid
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$uuid = $session->generateUuid();
var_dump($uuid);
?>
string(32) "484B18AC7980F8D4FE84613CDA5EE84B"
5.27.7.
Session::getDefaultSchema
Session::getDefaultSchema
NULL
, если не установлено.mysql_xdevapi\Session::getSchema
<?php
$uri = "mysqlx://testuser:testpasswd@localhost:33160/testx?ssl-mode=disabled";
$session = mysql_xdevapi\getSession($uri);
$schema = $session->getDefaultSchema();
echo $schema;
?>
testx
5.27.8.
Session::getSchema
Session::getSchema
schema_name
mysql_xdevapi\Session::getSchema
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$schema= $session->getSchema("addressbook");
print_r($schema);
?>
mysql_xdevapi\Schema Object
(
[name] => addressbook
)
5.27.9.
Session::getSchemas
Session::getSchemas
mysql_xdevapi\Session::getSchemas
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$schemas= $session->getSchemas();
print_r($schemas);
?>
Array
(
[0] => mysql_xdevapi\Schema Object
(
[name] => addressbook
)
[1] => mysql_xdevapi\Schema Object
(
[name] => information_schema
)
...
5.27.10.
Session::getServerВерсия
Session::getServerВерсия
mysql_xdevapi\Session::getServerVersion
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$version = $session->getServerVersion();
var_dump($version);
?>
int(80012)
5.27.11.
Session::listClients
Session::listClients
mysql_xdevapi\Session::listClients
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$ids = $session->listClients();
var_dump($ids);
?>
array(1)
{
[0]=>
array(4)
{
["client_id"]=>
int(61)
["user"]=>
string(4) "root"
["host"]=>
string(9) "localhost"
["sql_session"]=>
int(72)
}
}
5.27.12.
Session::quoteName
Session::quoteName
name
mysql_xdevapi\Session::quoteName
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$first = "MySQL's test";
var_dump($first);
var_dump($session->quoteName($first));
$second = 'Another `test` "like" `this`';
var_dump($second);
var_dump($session->quoteName($second));
?>
string(12) "MySQL's test"
string(14) "`MySQL's test`"
string(28) "Another `test` "like" `this`"
string(34) "`Another ``test`` "like" ``this```"
5.27.13.
Session::releaseSavepoint
Session::releaseSavepoint
name
mysql_xdevapi\Session::releaseSavepoint
<?php
$session= mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$collection = $session->getSchema("addressbook")->getCollection("friends");
$session->startTransaction();
$collection->add( '{"test1":1, "test2":2}' )->execute();
$savepoint = $session->setSavepoint();
$collection->add( '{"test3":3, "test4":4}' )->execute();
$session->releaseSavepoint($savepoint);
$session->rollback();
?>
5.27.14.
Session::rollback
Session::rollback
mysql_xdevapi\Session::rollback
<?php
$session= mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$collection = $session->getSchema("addressbook")->getCollection("names");
$session->startTransaction();
$collection->add( '{"test1":1, "test2":2}' )->execute();
$savepoint = $session->setSavepoint();
$collection->add( '{"test3":3, "test4":4}' )->execute();
$session->releaseSavepoint($savepoint);
$session->rollback();
?>
5.27.15.
Session::rollbackTo
Session::rollbackTo
name
mysql_xdevapi\Session::rollbackTo
<?php
$session= mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$collection = $session->getSchema("addressbook")->getCollection("names");
$session->startTransaction();
$collection->add( '{"test1":1, "test2":2}' )->execute();
$savepoint1 = $session->setSavepoint();
$collection->add( '{"test3":3, "test4":4}' )->execute();
$savepoint2 = $session->setSavepoint();
$session->rollbackTo($savepoint1);
?>
5.27.16.
Session::setSavepoint
Session::setSavepoint
name
name
не определяется
как 'SAVEPOINT1', 'SAVEPOINT2' и т. д.mysql_xdevapi\Session::setSavepoint
<?php
$session= mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$collection = $session->getSchema("addressbook")->getCollection("names");
$session->startTransaction();
$collection->add( '{"test1":1, "test2":2}' )->execute();
$savepoint = $session->setSavepoint();
$collection->add( '{"test3":3, "test4":4}' )->execute();
$session->releaseSavepoint($savepoint);
$session->rollback();
?>
5.27.17.
Session::sql
Session::sql
execute
, чтобы
выполнить SQL-оператор.query
mysql_xdevapi\Session::sql
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("CREATE DATABASE addressbook")->execute();
?>
5.27.18.
Session::startTransaction
Session::startTransaction
mysql_xdevapi\Session::startTransaction
<?php
$session= mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$collection = $session->getSchema("addressbook")->getCollection("friends");
$session->startTransaction();
$collection->add( '{"test1":1, "test2":2}' )->execute();
$savepoint = $session->setSavepoint();
$collection->add( '{"test3":3, "test4":4}' )->execute();
$session->releaseSavepoint($savepoint);
$session->rollback();
?>
5.28.
Класс SqlStatement
mysql_xdevapi\SqlStatement {
mysql_xdevapi\SqlStatement
Constants
const integer mysql_xdevapi\SqlStatement::EXECUTE_ASYNC = =1;
public mysql_xdevapi\Result mysql_xdevapi\SqlStatement::getNextResult();
public mysql_xdevapi\Result mysql_xdevapi\SqlStatement::getResult();
public bool mysql_xdevapi\SqlStatement::hasMoreResults();
}
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();
5.28.1.
SqlStatement::bind
SqlStatement::bind
param
mysql_xdevapi\SqlStatement::bind
<?php
/* ... */
?>
5.28.2.
SqlStatement::__construct
SqlStatement::__construct
mysql_xdevapi\SqlStatement::__construct
<?php
/* ... */
?>
5.28.3.
SqlStatement::execute
SqlStatement::execute
mysql_xdevapi\SqlStatement::execute
<?php
/* ... */
?>
5.28.4.
SqlStatement::getNextResult
SqlStatement::getNextResult
mysql_xdevapi\SqlStatement::getNextResult
<?php
/* ... */
?>
5.28.5.
SqlStatement::getResult
SqlStatement::getResult
mysql_xdevapi\SqlStatement::getResult
<?php
/* ... */
?>
5.28.6.
SqlStatement::hasMoreResults
SqlStatement::hasMoreResults
TRUE
, если у набора результатов есть
больше объектов для получения.
mysql_xdevapi\SqlStatement::hasMoreResults
<?php
/* ... */
?>
5.29. Класс SqlStatementResult
mysql_xdevapi\SqlStatementResult {
mysql_xdevapi\SqlStatementResult, mysql_xdevapi\BaseResult, Traversable
Methods public array mysql_xdevapi\SqlStatementResult::fetchAll();
public array mysql_xdevapi\SqlStatementResult::fetchOne();
public integer mysql_xdevapi\SqlStatementResult::getAffectedItemsCount();
public integer mysql_xdevapi\SqlStatementResult::getColumnsCount();
public array mysql_xdevapi\SqlStatementResult::getColumnNames();
public Array mysql_xdevapi\SqlStatementResult::getColumns();
public array mysql_xdevapi\SqlStatementResult::getGeneratedIds();
public String mysql_xdevapi\SqlStatementResult::getLastInsertId();
public array mysql_xdevapi\SqlStatementResult::getWarnings();
public integer mysql_xdevapi\SqlStatementResult::getWarningCounts();
public bool mysql_xdevapi\SqlStatementResult::hasData();
public mysql_xdevapi\Result mysql_xdevapi\SqlStatementResult::nextResult();
}
5.29.1.
SqlStatementResult::__construct
SqlStatementResult::__construct
mysql_xdevapi\SqlStatementResult::__construct
<?php
/* ... */
?>
5.29.2.
SqlStatementResult::fetchAll
SqlStatementResult::fetchAll
mysql_xdevapi\SqlStatementResult::fetchAll
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS dbtest")->execute();
$session->sql("CREATE DATABASE dbtest")->execute();
$session->sql("CREATE TABLE dbtest.workers(name text, age int, job text)")->execute();
$session->sql("INSERT INTO dbtest.workers values ('John', 42, 'bricklayer'), ('Sam', 33, 'carpenter')")->execute();
$schema = $session->getSchema("dbtest");
$table= $schema->getTable("workers");
$rows = $session->sql("SELECT * FROM dbtest.workers")->execute()->fetchAll();
print_r($rows);
?>
Array
(
[0] => Array
(
[name] => John
[age] => 42
)
[1] => Array
(
[name] => Sam
[age] => 33
)
)
5.29.3.
SqlStatementResult::fetchOne
SqlStatementResult::fetchOne
mysql_xdevapi\SqlStatementResult::fetchOne
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS dbtest")->execute();
$session->sql("CREATE DATABASE dbtest")->execute();
$session->sql("CREATE TABLE dbtest.workers(name text, age int, job text)")->execute();
$session->sql("INSERT INTO dbtest.workers values ('John', 42, 'bricklayer'), ('Sam', 33, 'carpenter')")->execute();
$schema = $session->getSchema("dbtest");
$table= $schema->getTable("workers");
$rows = $session->sql("SELECT * FROM dbtest.workers")->execute()->fetchOne();
print_r($rows);
?>
Array
(
[name] => John
[age] => 42
[job] => bricklayer
)
5.29.4.
SqlStatementResult::getAffectedItemsCount
SqlStatementResult::getAffectedItemsCount
mysql_xdevapi\SqlStatementResult::getAffectedItemsCount
<?php
/* ... */
?>
5.29.5.
SqlStatementResult::getColumnsCount
SqlStatementResult::getColumnsCount
Версия
Описание 8.0.14
Метод переименован из getColumnCount() в getColumnsCount().
mysql_xdevapi\SqlStatementResult::getColumnsCount
<?php
/* ... */
?>
5.29.6.
SqlStatementResult::getColumnNames
SqlStatementResult::getColumnNames
mysql_xdevapi\SqlStatementResult::getColumnNames
<?php
/* ... */
?>
5.29.7.
SqlStatementResult::getColumns
SqlStatementResult::getColumns
mysql_xdevapi\SqlStatementResult::getColumns
<?php
/* ... */
?>
5.29.8.
SqlStatementResult::getGeneratedIds
SqlStatementResult::getGeneratedIds
mysql_xdevapi\SqlStatementResult::getGeneratedIds
<?php
/* ... */
?>
5.29.9.
SqlStatementResult::getLastInsertId
SqlStatementResult::getLastInsertId
mysql_xdevapi\SqlStatementResult::getLastInsertId
<?php
/* ... */
?>
5.29.10.
SqlStatementResult::getWarnings
SqlStatementResult::getWarnings
mysql_xdevapi\SqlStatementResult::getWarnings
<?php
/* ... */
?>
5.29.11.
SqlStatementResult::getWarningsCount
SqlStatementResult::getWarningsCount
mysql_xdevapi\SqlStatementResult::getWarningsCount
<?php
/* ... */
?>
5.29.12.
SqlStatementResult::hasData
SqlStatementResult::hasData
TRUE
, если у набора
результатов есть данные.
mysql_xdevapi\SqlStatementResult::hasData
<?php
/* ... */
?>
5.29.13.
SqlStatementResult::nextResult
SqlStatementResult::nextResult
mysql_xdevapi\SqlStatementResult::nextResult
<?php
/* ... */
?>
5.30. Класс Statement
mysql_xdevapi\Statement {
mysql_xdevapi\Statement
Constants
const integer mysql_xdevapi\Statement::EXECUTE_ASYNC = =1;
public bool mysql_xdevapi\Statement::hasMoreResults();
}
const integer mysql_xdevapi\Statement::BUFFERED = =2;
Methods public mysql_xdevapi\Result mysql_xdevapi\Statement::getNextResult();
public mysql_xdevapi\Result mysql_xdevapi\Statement::getResult();
5.30.1.
Statement::__construct
Statement::__construct
mysql_xdevapi\Statement::__construct
<?php
/* ... */
?>
5.30.2.
Statement::getNextResult
Statement::getNextResult
mysql_xdevapi\Statement::getNextResult
<?php
/* ... */
?>
5.30.3.
Statement::getResult
Statement::getResult
mysql_xdevapi\Statement::getResult
<?php
/* ... */
?>
5.30.4.
Statement::hasMoreResults
Statement::hasMoreResults
mysql_xdevapi\Statement::hasMoreResults
<?php
/* ... */
?>
5.31. Класс Table
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();
}
5.31.1.
Table::__construct
Table::__construct
mysql_xdevapi\Table::__construct
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
?>
5.31.2.
Table::count
Table::count
mysql_xdevapi\Table::count
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
var_dump($table->count());
?>
int(2)
5.31.3.
Table::delete
Table::delete
mysql_xdevapi\Table::delete
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$table->delete()->where("name = :name")->orderby("age DESC")->limit(1)->bind(['name' => 'John'])->execute();
?>
5.31.4.
Table::existsInDatabase
Table::existsInDatabase
TRUE
, если таблица существует в базе
данных, иначе FALSE
.mysql_xdevapi\Table::existsInDatabase
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
if ($table->existsInDatabase()) {
echo "Yes, this table still exists in the session's schema.";
}
?>
Yes, this table still exists in the session's schema.
5.31.5.
Table::getName
Table::getName
mysql_xdevapi\Table::getName
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
var_dump($table->getName());
?>
string(5) "names"
5.31.6.
Table::getSchema
Table::getSchema
mysql_xdevapi\Table::getSchema
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
var_dump($table->getSchema());
?>
object(mysql_xdevapi\Schema)#9 (1) {
["name"]=>
string(11) "addressbook"
}
5.31.7.
Table::getSession
Table::getSession
mysql_xdevapi\Table::getSession
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
var_dump($table->getSession());
?>
object(mysql_xdevapi\Session)#9 (0) { }
5.31.8.
Table::insert
Table::insert
columns
...
mysql_xdevapi\Table::insert
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$table ->insert("name", "age")
->values(["Suzanne", 31],["Julie", 43])
->execute();
?>
5.31.9.
Table::isView
Table::isView
TRUE
, если основной объект
представление, иначе FALSE
.mysql_xdevapi\Table::isView
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names
if ($table->isView()) {
echo "This is a view.";
} else {
echo "This is not a view.";
}
?>
int(2)
5.31.10.
Table::select
Table::select
columns
...
mysql_xdevapi\Table::count
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$row = $table->select('name', 'age')->execute()->fetchAll();
print_r($row);
?>
Array
(
[0] => Array
(
[name] => John
[age] => 42
)
[1] => Array
(
[name] => Sam
[age] => 33
)
)
5.31.11.
Table::update
Table::update
mysql_xdevapi\Table::update
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$table->update()->set('age',34)->where('name = "Sam"')->limit(1)->execute();
?>
5.32.
Класс TableDelete
mysql_xdevapi\TableDelete {
mysql_xdevapi\TableDelete, mysql_xdevapi\Executable
Methods public mysql_xdevapi\TableDelete mysql_xdevapi\TableDelete::bind(array placeholder_values);
public mysql_xdevapi\Result mysql_xdevapi\TableDelete::execute();
public mysql_xdevapi\TableDelete mysql_xdevapi\TableDelete::limit(integer rows);
public mysql_xdevapi\TableDelete mysql_xdevapi\TableDelete::orderby(string orderby_expr);
public mysql_xdevapi\TableDelete mysql_xdevapi\TableDelete::where(string where_expr);
}
5.32.1.
TableDelete::bind
TableDelete::bind
placeholder_values
mysql_xdevapi\TableDelete::bind
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$table->delete()
->where("name = :name")
->bind(['name' => 'John'])
->orderby("age DESC")
->limit(1)
->execute();
?>
5.32.2.
TableDelete::__construct
TableDelete::__construct
mysql_xdevapi\TableDelete::__construct
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$table->delete()
->where("name = :name")
->bind(['name' => 'John'])
->orderby("age DESC")
->limit(1)
->execute();
?>
5.32.3.
TableDelete::execute
TableDelete::execute
mysql_xdevapi\TableDelete::execute
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$table->delete()
->where("name = :name")
->bind(['name' => 'John'])
->orderby("age DESC")
->limit(1)
->execute();
?>
5.32.4.
TableDelete::limit
TableDelete::limit
rows
mysql_xdevapi\TableDelete::limit
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$table->delete()
->where("name = :name")
->bind(['name' => 'John'])
->orderby("age DESC")
->limit(1)
->execute();
?>
5.32.5.
TableDelete::orderby
TableDelete::orderby
orderby_expr
mysql_xdevapi\TableDelete::orderBy
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$table->delete()
->where("age = :age")
->bind(['age' => 42])
->orderby("name DESC")
->limit(1)
->execute();
?>
5.32.6.
TableDelete::where
TableDelete::where
where_expr
mysql_xdevapi\TableDelete::where
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$table->delete()
->where("id = :id")
->bind(['id' => 42])
->limit(1)
->execute();
?>
5.33.
Класс TableInsert
mysql_xdevapi\TableInsert {
mysql_xdevapi\TableInsert, mysql_xdevapi\Executable
Methods public mysql_xdevapi\Result mysql_xdevapi\TableInsert::execute();
public mysql_xdevapi\TableInsert mysql_xdevapi\TableInsert::values(array row_values);
}
5.33.1.
TableInsert::__construct
TableInsert::__construct
mysql_xdevapi\TableInsert::__construct
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$table
->insert("name", "age")
->values(["Suzanne", 31],["Julie", 43])
->execute();
?>
5.33.2.
TableInsert::execute
TableInsert::execute
mysql_xdevapi\TableInsert::execute
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$table
->insert("name", "age")
->values(["Suzanne", 31],["Julie", 43])
->execute();
?>
5.33.3.
TableInsert::values
TableInsert::values
row_values
mysql_xdevapi\TableInsert::values
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$table
->insert("name", "age")
->values(["Suzanne", 31],["Julie", 43])
->execute();
?>
5.34.
Класс TableSelect
mysql_xdevapi\TableSelect {
mysql_xdevapi\TableSelect, mysql_xdevapi\Executable
Methods public mysql_xdevapi\TableSelect mysql_xdevapi\TableSelect::bind(array placeholder_values);
public mysql_xdevapi\RowResult mysql_xdevapi\TableSelect::execute();
public mysql_xdevapi\TableSelect mysql_xdevapi\TableSelect::groupBy(mixed sort_expr);
public mysql_xdevapi\TableSelect mysql_xdevapi\TableSelect::having(string sort_expr);
public mysql_xdevapi\TableSelect mysql_xdevapi\TableSelect::limit(integer rows);
public mysql_xdevapi\TableSelect mysql_xdevapi\TableSelect::lockExclusive(integer lock_waiting_option);
public mysql_xdevapi\TableSelect mysql_xdevapi\TableSelect::lockShared(integer lock_waiting_option);
public mysql_xdevapi\TableSelect mysql_xdevapi\TableSelect::offset(integer position);
public mysql_xdevapi\TableSelect mysql_xdevapi\TableSelect::orderby(mixed sort_expr, mixed ...);
public mysql_xdevapi\TableSelect mysql_xdevapi\TableSelect::where(string where_expr);
}
5.34.1.
TableSelect::bind
TableSelect::bind
public mysql_xdevapi\TableSelect mysql_xdevapi\TableSelect::bind(array
placeholder_values);
placeholder_values
mysql_xdevapi\TableSelect::bind
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$result = $table->select('name','age')
->where('name like :name and age > :age')
->bind(['name' => 'John', 'age' => 42])
->execute();
$row = $result->fetchAll();
print_r($row);
?>
Array
(
[0] => Array
(
[name] => John
[age] => 42
)
)
5.34.2
TableSelect::__construct
TableSelect::__construct
mysql_xdevapi\TableSelect::__construct
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 33)")->execute();
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$result = $table->select('name','age')
->where('name like :name and age > :age')
->bind(['name' => 'John', 'age' => 42])
->orderBy('age desc')
->execute();
$row = $result->fetchAll();
print_r($row);
?>
Array
(
[0] => Array
(
[name] => John
[age] => 42
)
)
5.34.3.
TableSelect::execute
TableSelect::execute
mysql_xdevapi\TableSelect::execute
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$result = $table->select('name','age')
->where('name like :name and age > :age')
->bind(['name' => 'John', 'age' => 42])
->orderBy('age desc')
->execute();
$row = $result->fetchAll();
?>
Array
(
[0] => Array
(
[name] => John
[age] => 42
)
)
5.34.4.
TableSelect::groupBy
TableSelect::groupBy
sort_expr
mysql_xdevapi\TableSelect::groupBy
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 42)")->execute();
$session->sql("INSERT INTO addressbook.names values ('Suki', 31)")->execute();
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$result = $table->select('count(*) as count', 'age')
->groupBy('age')->orderBy('age asc')
->execute();
$row = $result->fetchAll();
print_r($row);
?>
Array
(
[0] => Array
(
[count] => 1
[age] => 31
)
[1] => Array
(
[count] => 2
[age] => 42
)
)
5.34.5.
TableSelect::having
TableSelect::having
sort_expr
mysql_xdevapi\TableSelect::having
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 42)")->execute();
$session->sql("INSERT INTO addressbook.names values ('Suki', 31)")->execute();
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$result = $table->select('count(*) as count', 'age')
->groupBy('age')->orderBy('age asc')
->having('count > 1')
->execute();
$row = $result->fetchAll();
print_r($row);
?>
Array
(
[0] => Array
(
[count] => 2
[age] => 42
)
)
5.34.6.
TableSelect::limit
TableSelect::limit
rows
mysql_xdevapi\TableSelect::limit
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$result = $table->select('name', 'age')
->limit(1)
->execute();
$row = $result->fetchAll();
print_r($row);
?>
Array
(
[0] => Array
(
[name] => John
[age] => 42
)
)
5.34.7.
TableSelect::lockExclusive
TableSelect::lockExclusive
lock_waiting_option
MYSQLX_LOCK_DEFAULT
. Допустимые значения:MYSQLX_LOCK_DEFAULT
MYSQLX_LOCK_NOWAIT
MYSQLX_LOCK_SKIP_LOCKED
mysql_xdevapi\TableSelect::lockExclusive
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$session->startTransaction();
$result = $table->select('name', 'age')
->lockExclusive(MYSQLX_LOCK_NOWAIT)
->execute();
$session->commit();
$row = $result->fetchAll();
print_r($row);
?>
Array
(
[0] => Array
(
[name] => John
[age] => 42
)
[1] => Array
(
[name] => Sam
[age] => 42
)
)
5.34.8.
TableSelect::lockShared
TableSelect::lockShared
lock_waiting_option
MYSQLX_LOCK_DEFAULT
. Допустимые значения:MYSQLX_LOCK_DEFAULT
MYSQLX_LOCK_NOWAIT
MYSQLX_LOCK_SKIP_LOCKED
mysql_xdevapi\TableSelect::lockShared
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$session->startTransaction();
$result = $table->select('name', 'age')
->lockShared(MYSQLX_LOCK_NOWAIT)
->execute();
$session->commit();
$row = $result->fetchAll();
print_r($row);
?>
Array
(
[0] => Array
(
[name] => John
[age] => 42
)
[1] => Array
(
[name] => Sam
[age] => 42
)
)
5.34.9.
TableSelect::offset
TableSelect::offset
position
mysql_xdevapi\TableSelect::offset
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$session->sql("DROP DATABASE IF EXISTS addressbook")->execute();
$session->sql("CREATE DATABASE addressbook")->execute();
$session->sql("CREATE TABLE addressbook.names(name text, age int)")->execute();
$session->sql("INSERT INTO addressbook.names values ('John', 42), ('Sam', 42)")->execute();
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$result = $table->select('name', 'age')
->limit(1)
->offset(1)
->execute();
$row = $result->fetchAll();
print_r($row);
?>
Array
(
[0] => Array
(
[name] => Sam
[age] => 42
)
)
5.34.10.
TableSelect::orderby
TableSelect::orderby
sort_expr
...
mysql_xdevapi\TableSelect::orderBy
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$result = $table->select('name', 'age')
->orderBy('name desc')
->execute();
$row = $result->fetchAll();
print_r($row);
?>
Array
(
[0] => Array
(
[name] => Sam
[age] => 42
)
[1] => Array
(
[name] => John
[age] => 42
)
)
5.34.11.
TableSelect::where
TableSelect::where
where_expr
mysql_xdevapi\TableSelect::where
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$result = $table->select('name','age')
->where('name like :name and age > :age')
->bind(['name' => 'John', 'age' => 42])
->execute();
$row = $result->fetchAll();
print_r($row);
?>
Array
(
[0] => Array
(
[name] => John
[age] => 42
)
)
5.35. Класс TableUpdate
mysql_xdevapi\TableUpdate {mysql_xdevapi\TableUpdate,
mysql_xdevapi\Executable
Methods public mysql_xdevapi\TableUpdate
mysql_xdevapi\TableUpdate::bind
(array placeholder_values);
public mysql_xdevapi\TableUpdate mysql_xdevapi\TableUpdate::execute();
public mysql_xdevapi\TableUpdate mysql_xdevapi\TableUpdate::limit
(integer rows);
public mysql_xdevapi\TableUpdate mysql_xdevapi\TableUpdate::orderby
(mixed orderby_expr, mixed ...);
public mysql_xdevapi\TableUpdate mysql_xdevapi\TableUpdate::set
(string table_field, string expression_or_literal);
public mysql_xdevapi\TableUpdate mysql_xdevapi\TableUpdate::where
(string where_expr);
}
5.35.1.
TableUpdate::bind
TableUpdate::bind
placeholder_values
mysql_xdevapi\TableUpdate::bind
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$table->update()
->set('status', 'admin')
->where('name = :name and age > :age')
->bind(['name' => 'Bernie', 'age' => 2000])
->execute();
?>
5.35.2.
TableUpdate::__construct
TableUpdate::__construct
mysql_xdevapi\TableUpdate::__construct
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$res = $table->update()
->set('level', 3)
->where('age > 15 and age < 22')
->limit(4)
->orderby(['age asc','name desc'])
->execute();
?>
5.35.3.
TableUpdate::execute
TableUpdate::execute
mysql_xdevapi\TableUpdate::execute
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$res = $table->update()
->set('level', 3)
->where('age > 15 and age < 22')
->limit(4)
->orderby(['age asc','name desc'])
->execute();
?>
5.35.4.
TableUpdate::limit
TableUpdate::limit
rows
mysql_xdevapi\TableUpdate::limit
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$res = $table->update()
->set('level', 3)
->where('age > 15 and age < 22')
->limit(4)
->orderby(['age asc','name desc'])
->execute();
?>
5.35.5.
TableUpdate::orderby
TableUpdate::orderby
orderby_expr
...
mysql_xdevapi\TableUpdate::orderby
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$res = $table->update()
->set('level', 3)
->where('age > 15 and age < 22')
->limit(4)
->orderby(['age asc','name desc'])
->execute();
?>
5.35.6.
TableUpdate::set
TableUpdate::set
table_field
expression_or_literal
mysql_xdevapi\TableUpdate::set
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$res = $table->update()
->set('level', 3)
->where('age > 15 and age < 22')
->limit(4)
->orderby(['age asc','name desc'])
->execute();
?>
5.35.7.
TableUpdate::where
TableUpdate::where
where_expr
mysql_xdevapi\TableUpdate::where
<?php
$session = mysql_xdevapi\getSession("mysqlx://user:password@localhost");
$schema = $session->getSchema("addressbook");
$table= $schema->getTable("names");
$res = $table->update()
->set('level', 3)
->where('age > 15 and age < 22')
->limit(4)
->orderby(['age asc','name desc'])
->execute();
?>
5.36. Класс Warning
mysql_xdevapi\Warning {mysql_xdevapi\Warning Properties public message ;
public level ; public code ;
Constructor private mysql_xdevapi\Warning::__construct ();}
5.36.1.
Warning::__construct
Warning::__construct
mysql_xdevapi\Warning::__construct
<?php
/* ... */
?>
Найди своих коллег! |
Вы можете направить письмо администратору этой странички, Алексею Паутову.