sqlsrv_free_stmt
(No version information available, might only be in Git)
sqlsrv_free_stmt — Frees all resources for the specified statement
説明
Frees all resources for the specified statement. The statement cannot be used after sqlsrv_free_stmt() has been called on it. If sqlsrv_free_stmt() is called on an in-progress statement that alters server state, statement execution is terminated and the statement is rolled back.
パラメータ
stmt
-
The statement for which resources are freed. Note that
null
is a valid parameter value. This allows the function to be called multiple times in a script.
例
例1 sqlsrv_free_stmt() example
<?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));
}
/*-------------------------------
Process query results here.
-------------------------------*/
/* Free the statement resources. */
sqlsrv_free_stmt( $stmt);
?>
注意
The main difference between sqlsrv_free_stmt() and sqlsrv_cancel() is that a statement resource cancelled with sqlsrv_cancel() can be re-executed if it was created with sqlsrv_prepare(). A statement resource cancelled with sqlsrv_free_statement() cannot be re-executed.
User Contributed Notes 1 note
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.