Класс PDOStatement
Декоратор для класса \PDOStatement, в основном используемый для преобразования удобочитаемых режимов извлечения в константы PDO.
- Cake\Database\Statement\StatementDecorator реализует Cake\Database\StatementInterface, Countable, IteratorAggregate использует Cake\Database\TypeConverterTrait
-
Cake\Database\Statement\PDOStatement
Унаследованные свойства
Краткое описание методов
- __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'); Параметры
- string|integer
$column - имя или позиция параметра для привязки
- mixed
$value - Значение для привязки к переменной в запросе
- string|integer
$typeнеобязательно 'string' - Тип PDO или имя настроенного класса Type
Переопределяет
Cake\Database\Statement\StatementDecorator::bindValue() fetch()source public
fetch( string $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'] Параметры
- string
$typeнеобязательно 'num' - 'num' для позиционных столбцов, assoc для именованных столбцов
Возвращает
mixedМассив результатов, содержащий столбцы и значения, или false, если результатов больше нет
Переопределяет
Cake\Database\Statement\StatementDecorator::fetch() fetchAll()source public
fetchAll( string $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']] Параметры
- string
$typeнеобязательно 'num' - num для извлечения столбцов в качестве позиционных ключей или assoc для имён столбцов в качестве ключей
Возвращает
arrayсписок всех результатов из базы данных для этого запроса
Переопределяет
Cake\Database\Statement\StatementDecorator::fetchAll() Методы, унаследованные от Cake\Database\Statement\StatementDecorator
__get()source public
__get( string $property )
Магический геттер для возвращения $queryString как только для чтения.
Параметры
- string
$property - внутренняя свойство для получения
Возвращает
mixedbind()source public
bind( array $params , array $types )
Привязывает набор значений к объекту запроса с соответствующим типом.
Параметры
- array
$params - список значений для привязки
- array
$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 Возвращает
integerРеализация
Cake\Database\StatementInterface::columnCount() count()source public
count( )
Запросы могут передаваться как аргумент для count(), чтобы вернуть количество затронутых строк после последнего выполнения.
Возвращает
integerРеализация
Cake\Database\StatementInterface::count() errorCode()source public
errorCode( )
Возвращает код ошибки последней ошибки, произошедшей при выполнении этого запроса.
Возвращает
integer|stringРеализация
Cake\Database\StatementInterface::errorCode() errorInfo()source public
errorInfo( )
Возвращает информацию об ошибке для последней ошибки, произошедшей при выполнении этого запроса.
Возвращает
arrayРеализация
Cake\Database\StatementInterface::errorInfo() execute()source public
execute( array|null $params null )
Выполняет запрос, отправляя SQL-запрос в базу данных. Он может, по желанию, принимать массив или аргументы, которые нужно привязать к переменным запроса. Обратите внимание, что привязка параметров из этого метода не будет выполнять никакого пользовательского преобразования типа, как это обычно происходит при вызове bindValue.
Параметры
- array|null
$paramsнеобязательно null - список значений для привязки к запросу
Возвращает
booleantrue при успехе, false в противном случае
Реализация
Cake\Database\StatementInterface::execute() getInnerStatement()source public
getInnerStatement( )
Возвращает объект запроса, который был декорирован этим классом.
Возвращает
Cake\Database\StatementInterfacegetIterator()source public
getIterator( )
Выражения могут быть итерируемы как массивы, этот метод вернёт объект итератора для обхода всех элементов в результате.
Пример:
$statement = $connection->prepare('SELECT id, title from articles');
foreach ($statement as $row) {
//do stuff
} Возвращает
IteratorРеализация
IteratorAggregate::getIterator() lastInsertId()source public
lastInsertId( string|null $table null , string|null $column null )
Возвращает последний вставленный первичный ключ, используя это выражение.
Параметры
- string|null
$tableнеобязательно null - имя таблицы или последовательности, чтобы получить последнее вставленное значение
- string|null
$columnнеобязательно null - имя столбца, представляющего первичный ключ
Возвращает
stringРеализация
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 Возвращает
integerРеализация
Cake\Database\StatementInterface::rowCount() Методы, используемые из Cake\Database\TypeConverterTrait
cast()source public
cast( mixed $value , Cake\Database\Type|string $type )
Преобразует заданное значение в соответствующее значение базы данных на основе типа и возвращает соответствующий внутренний тип выражения.
Параметры
- mixed
$value - Значение для преобразования
-
Cake\Database\Type|string$type - Имя типа или экземпляр типа для использования.
Возвращает
arrayсписок, содержащий преобразованное значение и внутренний тип
matchTypes()source public
matchTypes( array $columns , array $types )
Сопоставление столбцов с соответствующими типами.
И $columns, и $types должны быть либо числовыми, либо строковыми ключами одновременно.
Параметры
- array
$columns - список или ассоциативный массив столбцов и параметров, которые необходимо связать с типами
- array
$types - список или ассоциативный массив типов
Возвращает
array
© 2005–2017 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.3/class-Cake.Database.Statement.PDOStatement.html