Spec-Zone.ru › CakePHP 3.8

Класс PDOStatement

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

Cake\Database\Statement\StatementDecorator реализует Cake\Database\StatementInterface, Countable, IteratorAggregate использует Cake\Database\TypeConverterTrait
Расширенный Cake\Database\Statement\PDOStatement
Пространство имён: Cake\Database\Statement
Расположение: Database/Statement/PDOStatement.php

Унаследованные константы

  • FETCH_TYPE_ASSOC, FETCH_TYPE_NUM, FETCH_TYPE_OBJ

Унаследованные магические свойства

  • queryString

Унаследованные свойства

  • _driver, _hasExecuted, _statement

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

  • __construct() public
    Конструктор
  • bindValue() public

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

  • fetch() public

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

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

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

__construct()source public

__construct( Cake\Database\Statement\PDOStatement $statement = null , Cake\Database\Driver|null $driver = null )

Конструктор

Параметры

Cake\Database\Statement\PDOStatement $statement необязательно null
Исходный оператор, который нужно декорировать.
Cake\Database\Driver|null $driver необязательно null
Экземпляр драйвера.

Переопределяет

Cake\Database\Statement\StatementDecorator::__construct()

bindValue()source public

bindValue( string|integer $column , mixed $value , string|integer $type = 'string' )

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

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

Не разрешено комбинировать позиционные и именованные переменные в одном операторе

Примеры:

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

Параметры

строка|целое число $column
имя или позиция параметра, подлежащего привязке
смешанный $value
Значение, которое нужно привязать к переменной в запросе
строка|целое число $type необязательно 'строка'
Тип PDO или имя настроенного класса Type

Переопределяет

Cake\Database\Statement\StatementDecorator::bindValue()

fetch()source public

fetch( string $type = parent::FETCH_TYPE_NUM )

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

Пример:

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

Параметры

строка $type необязательно parent::FETCH_TYPE_NUM
'num' для позиционных столбцов, assoc для именованных столбцов

Возвращает

массив|false

Результирующий массив, содержащий столбцы и значения, или false, если результатов больше нет


Переопределяет

Cake\Database\Statement\StatementDecorator::fetch()

fetchAll()source public

fetchAll( string $type = parent::FETCH_TYPE_NUM )

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

Пример:

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

Параметры

строка $type необязательно parent::FETCH_TYPE_NUM
num для извлечения столбцов в качестве позиционных ключей или assoc для имен столбцов в качестве ключей

Возвращает

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

Переопределяет

Cake\Database\Statement\StatementDecorator::fetchAll()

Методы, унаследованные от Cake\Database\Statement\StatementDecorator

__get()source public

__get( string $property )

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

Параметры

строка $property
внутреннее свойство для получения

Возвращает

смешанный

bind()source public

bind( array $params , array $types )

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

Параметры

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

Реализация

Cake\Database\StatementInterface::bind()

closeCursor()source public

closeCursor( )

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

Реализация

Cake\Database\StatementInterface::closeCursor()

columnCount()source public

columnCount( )

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

Пример:

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

Возвращает

целое число

Реализация

Cake\Database\StatementInterface::columnCount()

count()source public

count( )

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

Возвращает

целое число

Реализация

Cake\Database\StatementInterface::count()

errorCode()source public

errorCode( )

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

Возвращает

целое число|строка

Реализация

Cake\Database\StatementInterface::errorCode()

errorInfo()source public

errorInfo( )

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

Возвращает

массив

Реализация

Cake\Database\StatementInterface::errorInfo()

execute()source public

execute( array|null $params = null )

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

Параметры

массив|null $params необязательно null
список значений, которые нужно привязать к запросу

Возвращает

логическое значение
true при успехе, false в противном случае

Реализация

Cake\Database\StatementInterface::execute()
END_OF_DOCUMENT_MARKER ```

fetchAssoc()source public

fetchAssoc( )

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

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

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

fetchColumn()source public

fetchColumn( integer $position )

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

Параметры

целое число $position
Числовая позиция столбца для извлечения результата

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

mixed|false
Возвращает конкретное значение указанного столбца по позиции $position

getInnerStatement()source public

getInnerStatement( )

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

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

Cake\Database\StatementInterface|PDOStatement

getIterator()source public

getIterator( )

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

Пример:

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

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

Cake\Database\StatementInterface|PDOStatement

Реализация

IteratorAggregate::getIterator()

lastInsertId()source public

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

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

Параметры

строка|null $table необязательно null
имя таблицы или последовательности для получения последнего вставленного значения
строка|null $column необязательно null
имя столбца, представляющего первичный ключ

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

string|integer

Реализация

Cake\Database\StatementInterface::lastInsertId()

rowCount()source public

rowCount( )

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

Пример:

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

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

целое число

Реализация

Cake\Database\StatementInterface::rowCount()

Методы, используемые из Cake\Database\TypeConverterTrait

cast()source public

cast( mixed $value , Cake\Database\Type|string $type )

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

Параметры

смешанный тип $value
Значение для преобразования
Cake\Database\Type|строка $type
Имя типа или экземпляр типа для использования.

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

array
Список, содержащий преобразованное значение и внутренний тип

matchTypes()source public

matchTypes( array $columns , array $types )

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

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

Параметры

массив $columns
Список или ассоциативный массив столбцов и параметров, которые нужно связать с типами
массив $types
Список или ассоциативный массив типов

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

array

© 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/3.8/class-Cake.Database.Statement.PDOStatement.html

Spec-Zone.ru

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