PHP Conference Nagoya 2025

sqlsrv_free_stmt

(No version information available, might only be in Git)

sqlsrv_free_stmtОсвобождает все ресурсы для указанного оператора

Описание

sqlsrv_free_stmt(resource $stmt): bool

Освобождает все ресурсы для указанного оператора. Оператор нельзя использовать после того, как для него была вызвана функция sqlsrv_free_stmt(). Если sqlsrv_free_stmt() вызывается в выполняющемся операторе, который изменяет состояние сервера, выполнение оператора прекращается и оператор откатывается.

Список параметров

stmt

Оператор, ресурсы которого необходимо освободить. Обратите внимание, что null - допустимое значение параметра. Это позволяет вызывать функцию в скрипте несколько раз.

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

Функция возвращает true в случае успешного выполнения или false, если возникла ошибка.

Примеры

Пример #1 Пример использования sqlsrv_free_stmt()

<?php
$serverName
= "serverName\sqlexpress";
$connectionInfo = array( "Database"=>"dbName", "UID"=>"username", "PWD"=>"password");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if(
$conn === false ) {
die(
print_r( sqlsrv_errors(), true));
}

$stmt = sqlsrv_query( $conn, "SELECT * FROM Table_1");
if(
$stmt === false ) {
die(
print_r( sqlsrv_errors(), true));
}

/*-------------------------------
Здесь можно обработать результаты запроса.
-------------------------------*/

/* Освободите ресурсы для оператора */
sqlsrv_free_stmt( $stmt);

?>

Примечания

Основное различие между sqlsrv_free_stmt() и sqlsrv_cancel() заключается в том, что ресурс оператора, отменённый с помощью sqlsrv_cancel(), может быть повторно выполнен, если он был создан с помощью sqlsrv_prepare(). Ресурс оператора, отменённый с помощью sqlsrv_free_statement(), не может быть повторно выполнен.

Смотрите также

Добавить

Примечания пользователей 1 note

up
0
Anonymous
9 years ago
If you accidentally call this with an invalid $stmt resource, you may see unexpected fatal errors.

I had left behind a call here when cleaning up some code and this caused the my IIS server to generate an error 500 resource not found error. Furthermore it seemed to only affect some users and not all and I could not isolate why only selected users got the error when it was called for all users.
To Top