Класс SqlserverStatement
Класс утверждения, предназначенный для использования драйвером Sqlserver
Константы
-
stringFETCH_TYPE_ASSOC'assoc'
Используется для обозначения того, что при вызове методов fetch в результате будет возвращён ассоциативный массив
-
stringFETCH_TYPE_NUM'num'
Используется для обозначения того, что при вызове методов fetch в результате будут возвращены числовые индексы
-
stringFETCH_TYPE_OBJ'obj'
Используется для обозначения того, что при вызове методов fetch в результате будет возвращено объект 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-утверждением.
Подробное описание методов
__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|nullbind() public
bind(array $params, array $types): void
Связывает набор значений с объектом выражения с соответствующим типом.
Параметры
-
array$params список значений, которые нужно связать
-
array$types список типов, которые нужно использовать, ключи должны соответствовать ключам в $params
Возвращает
voidbindValue() public
bindValue(string|int $column, mixed $value, string|int|null $type = 'string'): void
Присваивает значение позиционной или именованной переменной в подготовленном запросе. При использовании позиционных переменных нужно начинать с индекса один, при использовании именованных параметров просто используйте имя в любом порядке.
Драйвер PDO для SQL Server требует, чтобы бинарные параметры связывались с атрибутом SQLSRV_ENCODING_BINARY. Это переопределяет метод PDOStatement::bindValue, чтобы связать бинарные столбцы с требуемым атрибутом.
Параметры
-
string|int$column имя или позиция параметра, которые нужно связать
-
mixed$value Значение для связи с переменной в запросе
-
string|int|null$type необязательно Тип PDO или имя настроенного класса типа
Возвращает
voidcast() public
cast(mixed $value, Cake\Database\TypeInterface|string|int $type = 'string'): array
Преобразует заданное значение в подходящее значение базы данных на основе типа и возвращает соответствующий внутренний тип выражения.
Параметры
-
mixed$value Значение для преобразования
-
Cake\Database\TypeInterface|string|int$type необязательно Имя типа или экземпляр типа для использования.
Возвращает
arraycloseCursor() public
closeCursor(): void
Закрывает курсор в базе данных, освобождая ресурсы и память, выделенные для него. В большинстве случаев вам не нужно вызывать этот метод, так как он автоматически вызывается после получения всех результатов из набора результатов.
Возвращает
voidcolumnCount() public
columnCount(): int
Возвращает количество столбцов, которые будут содержать результаты этого выражения.
Пример:
$statement = $connection->prepare('SELECT id, title from articles');
$statement->execute();
echo $statement->columnCount(); // outputs 2 Возвращает
intcount() public
count(): int
Выражения могут быть переданы в качестве аргумента для count() для возврата количества затронутых строк из последнего выполнения.
Возвращает
interrorCode() public
errorCode(): string|int
Возвращает код ошибки для последней ошибки, произошедшей при выполнении этого выражения.
Возвращает
string|interrorInfo() public
errorInfo(): array
Возвращает информацию об ошибке для последней ошибки, произошедшей при выполнении этого выражения.
Возвращает
arrayexecute() public
execute(array|null $params = null): bool
Выполняет выражение, отправляя SQL-запрос в базу данных. Он может необязательно принимать массив или аргументы, которые нужно связать с переменными запроса. Обратите внимание, что привязка параметров из этого метода не выполнит никакого пользовательского преобразования типов, как это обычно происходит при вызове bindValue.
Параметры
-
array|null$params необязательно список значений, которые нужно связать с запросом
Возвращает
boolfetch() 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 для именованных столбцов
Возвращает
mixedfetchAll() 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|falsefetchAssoc() public
fetchAssoc(): array
Возвращает следующую строку в наборе результатов в виде ассоциативного массива. Вызов этой функции эквивалентен вызову $statement->fetch(StatementDecorator::FETCH_TYPE_ASSOC). Если результатов нет, возвращается пустой массив.
Возвращает
arrayfetchColumn() public
fetchColumn(int $position): mixed
Возвращает значение результата в позиции.
Параметры
-
int$position Числовая позиция столбца для извлечения в результате
Возвращает
mixedgetInnerStatement() public
getInnerStatement(): Cake\Database\StatementInterface
Возвращает объект выражения, который был декорирован этим классом.
Возвращает
Cake\Database\StatementInterfacegetIterator() public
getIterator(): Cake\Database\StatementInterface
Выражения итерируемы как массивы, этот метод вернёт объект итератора для обхода всех элементов в результате.
Пример:
$statement = $connection->prepare('SELECT id, title from articles');
foreach ($statement as $row) {
//do stuff
} Возвращает
Cake\Database\StatementInterfacelastInsertId() public
lastInsertId(string|null $table = null, string|null $column = null): string|int
Возвращает последний вставленный первичный ключ, используя это выражение.
Параметры
-
string|null$table необязательно имя таблицы или последовательности для получения последнего значения вставки
-
string|null$column необязательно имя столбца, представляющего первичный ключ
Возвращает
string|intmatchTypes() public
matchTypes(array $columns, array $types): array
Сопоставляет столбцы с соответствующими типами.
И $columns, и $types должны быть либо числовыми, либо строковыми ключами одновременно.
Параметры
-
array$columns список или ассоциативный массив столбцов и параметров, которые нужно связать с типами
-
array$types список или ассоциативный массив типов
Возвращает
arrayrowCount() 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.4/class-Cake.Database.Statement.SqlserverStatement.html