Spec-Zone.ru › CakePHP 4.3

Класс PDOStatement

Декоратор для класса \PDOStatement, в основном используемый для преобразования удобочитаемых режимов извлечения в константы PDO.

Пространство имен: Cake\Database\Statement

Константы

  • string
    FETCH_TYPE_ASSOC
    'assoc'

    Используется для обозначения возврата ассоциативного массива в результате вызова методов извлечения

  • string
    FETCH_TYPE_NUM
    'num'

    Используется для обозначения возврата числовых индексов в результате при вызове методов извлечения

  • string
    FETCH_TYPE_OBJ
    'obj'

    Используется для обозначения возврата объекта stdClass в результате при вызове методов извлечения

Краткое описание свойств

  • $_driver protected
    Cake\Database\DriverInterface

    Ссылка на объект драйвера, связанный с этим оператором.

  • $_hasExecuted protected
    bool

    Выполнялся ли этот оператор ранее

  • $_statement protected
    PDOStatement

    Экземпляр PDOStatement

  • $queryString public @property-read
    string

Краткое описание методов

  • __construct() public

    Конструктор

  • __get() public

    Магический геттер для возврата PDOStatement::$queryString в качестве только для чтения.

  • bind() public

    Связывает набор значений с объектом оператора с соответствующим типом.

  • bindValue() public

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

  • cast() public

    Преобразует заданное значение в подходящее значение базы данных в зависимости от типа и возвращает соответствующий внутренний тип оператора

  • closeCursor() public

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

  • columnCount() public

    Возвращает количество столбцов, которые будут содержать результаты этого оператора.

  • count() public

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

  • errorCode() public

    Возвращает код ошибки для последней ошибки, произошедшей при выполнении этого оператора.

  • errorInfo() public

    Возвращает информацию об ошибке для последней ошибки, произошедшей при выполнении этого оператора.

  • execute() public

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

  • fetch() public

    Возвращает следующую строку набора результатов после выполнения этого оператора. Строки можно извлечь, чтобы содержать столбцы по именам или позициям. Если в наборе результатов больше нет строк, этот метод вернёт false

  • fetchAll() public

    Возвращает массив со всеми строками, полученными в результате выполнения этого оператора

  • fetchAssoc() public

    Возвращает следующую строку в наборе результатов в виде ассоциативного массива. Вызов этой функции эквивалентен вызову $statement->fetch(StatementDecorator::FETCH_TYPE_ASSOC). Если результатов нет, возвращается пустой массив.

  • fetchColumn() public

    Возвращает значение результата по указанной позиции.

  • getInnerStatement() public

    Возвращает объект оператора, который был декорирован этим классом.

  • getIterator() public

    Операторы итерируются как массивы, этот метод вернёт итератор для перебора всех элементов результата.

  • lastInsertId() public

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

  • matchTypes() public

    Сопоставляет столбцы с соответствующими типами.

  • rowCount() public

    Возвращает количество строк, затронутых этим SQL-оператором.

END_OF_DOCUMENT_MARKER

Подробное описание методов

__construct() public

__construct(PDOStatement $statement, Cake\Database\DriverInterface $driver)

Конструктор

Параметры

PDOStatement $statement

Исходное утверждение, которое будет декорировано.

Cake\Database\DriverInterface $driver

Экземпляр драйвера.

__get() public

__get(string $property): string|null

Магический геттер для возвращения PDOStatement::$queryString как только для чтения.

Параметры

string $property

внутреннее свойство для получения

Возвращает

string|null

bind() public

bind(array $params, array $types): void

Связывает набор значений с объектом утверждения соответствующим типом.

Параметры

array $params

список значений, которые будут связаны

array $types

список типов, которые будут использованы, ключи должны соответствовать ключам в $params

Возвращает

void

bindValue() public

bindValue(string|int $column, mixed $value, string|int|null $type = 'string'): void

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

Можно передать совместимые с PDO константы для привязки значений с типом или, по желанию, любое имя типа, зарегистрированное в классе Type. Любое значение будет преобразовано в корректное представление типа, если это необходимо.

Совмещение позиционных и именованных переменных в одном утверждении запрещено

Примеры:

$statement->bindValue(1, 'a title');
$statement->bindValue(2, 5, PDO::INT);
$statement->bindValue('active', true, 'boolean');
$statement->bindValue(5, new \DateTime(), 'date');

Параметры

string|int $column

имя или позиция параметра, которые будут связаны

mixed $value

Значение для привязки к переменной в запросе

string|int|null $type необязательно

Тип PDO или имя настроенного класса Type

Возвращает

void

cast() public

cast(mixed $value, Cake\Database\TypeInterface|string|int $type = 'string'): array

Преобразует заданное значение в подходящее значение базы данных на основе типа и возвращает соответствующий внутренний тип утверждения

Параметры

mixed $value

Значение для преобразования

Cake\Database\TypeInterface|string|int $type необязательно

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

Возвращает

array

closeCursor() public

closeCursor(): void

Закрывает курсор в базе данных, освобождая все ресурсы и память, выделенные ему. В большинстве случаев вы не должны вызывать этот метод, так как он автоматически вызывается после извлечения всех результатов из набора результатов.

Возвращает

void

columnCount() public

columnCount(): int

Возвращает количество столбцов, которые будет содержать результат этого утверждения.

Пример:

$statement = $connection->prepare('SELECT id, title from articles');
$statement->execute();
echo $statement->columnCount(); // outputs 2

Возвращает

int

count() public

count(): int

Утверждения могут передаваться в качестве аргумента для count() для возвращения количества затронутых строк из последнего выполнения.

Возвращает

int

errorCode() public

errorCode(): string|int

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

Возвращает

string|int

errorInfo() public

errorInfo(): array

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

Возвращает

array

execute() public

execute(array|null $params = null): bool

Выполняет утверждение, отправляя SQL-запрос в базу данных. По желанию может принимать массив или аргументы, которые будут привязаны к переменным запроса. Обратите внимание, что привязка параметров из этого метода не будет выполнять никакое пользовательское преобразование типов, как это обычно происходит при вызове bindValue.

Параметры

array|null $params необязательно

список значений, которые будут связаны с запросом

Возвращает

bool

fetch() public

fetch(string|int $type = parent::FETCH_TYPE_NUM): mixed

Возвращает следующую строку для набора результатов после выполнения этого утверждения. Строки можно извлечь, чтобы они содержали столбцы как имена или позиции. Если в наборе результатов нет строк, этот метод вернет false

Пример:

$statement = $connection->prepare('SELECT id, title from articles');
 $statement->execute();
 print_r($statement->fetch('assoc')); // will show ['id' => 1, 'title' => 'a title']

Параметры

string|int $type необязательно

'num' для позиционных столбцов, assoc для именованных столбцов

Возвращает

mixed

fetchAll() public

fetchAll(string|int $type = parent::FETCH_TYPE_NUM): array|false

Возвращает массив со всеми строками, полученными в результате выполнения этого утверждения

Пример:

$statement = $connection->prepare('SELECT id, title from articles');
 $statement->execute();
 print_r($statement->fetchAll('assoc')); // will show [0 => ['id' => 1, 'title' => 'a title']]

Параметры

string|int $type необязательно

num для извлечения столбцов в качестве позиционных ключей или assoc для имен столбцов в качестве ключей

Возвращает

array|false

fetchAssoc() public

fetchAssoc(): array

Возвращает следующую строку в наборе результатов в виде ассоциативного массива. Вызов этой функции эквивалентен вызову $statement->fetch(StatementDecorator::FETCH_TYPE_ASSOC). Если результатов нет, возвращается пустой массив.

Возвращает

array

fetchColumn() public

fetchColumn(int $position): mixed

Возвращает значение в указанной позиции.

Параметры

int $position

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

Возвращает

mixed

getInnerStatement() public

getInnerStatement(): Cake\Database\StatementInterface

Возвращает объект утверждения, который был декорирован этим классом.

Возвращает

Cake\Database\StatementInterface

getIterator() public

getIterator(): Cake\Database\StatementInterface

Утверждения могут быть итерируемы как массивы, этот метод вернет объект итератора для обхода всех элементов в результате.

Пример:

$statement = $connection->prepare('SELECT id, title from articles');
foreach ($statement as $row) {
  //do stuff
}

Возвращает

Cake\Database\StatementInterface

lastInsertId() public

lastInsertId(string|null $table = null, string|null $column = null): string|int

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

Параметры

string|null $table необязательно

Имя таблицы или последовательности для получения последнего вставленного значения.

string|null $column необязательно

Имя столбца, представляющего первичный ключ

Возвращает

string|int

matchTypes() public

matchTypes(array $columns, array $types): array

Сопоставляет столбцы соответствующим типам.

И $columns, и $types должны быть либо числовыми, либо строковыми ключами одновременно.

Параметры

array $columns

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

array $types

список или ассоциативный массив типов

Возвращает

array

rowCount() public

rowCount(): int

Возвращает количество строк, затронутых этим SQL-запросом.

Пример:

$statement = $connection->prepare('SELECT id, title from articles');
$statement->execute();
print_r($statement->rowCount()); // will show 1

Возвращает

int

Подробное описание свойств

$_driver защищенное

Ссылка на объект драйвера, связанный с этим оператором.

Тип

Cake\Database\DriverInterface

$_hasExecuted защищенное

Выполнялся ли этот оператор ранее

Тип

bool

$_statement защищенное

Экземпляр PDOStatement

Тип

PDOStatement

$queryString общедоступный @property-read

Тип

string

© 2005–present The Cake Software Foundation, Inc.
Licensed under the MIT License.
CakePHP is a registered trademark of Cake Software Foundation, Inc.
We are not endorsed by or affiliated with CakePHP.
https://api.cakephp.org/4.3/class-Cake.Database.Statement.PDOStatement.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API