Forum PHP 2017


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

sqlsrv_free_stmtFrees all resources for the specified statement


bool sqlsrv_free_stmt ( resource $stmt )

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.



The statment 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.

Return Values

Returns TRUE on success or FALSE on failure.


Example #1 sqlsrv_free_stmt() example

$connectionInfo = array( "Database"=>"dbName""UID"=>"username""PWD"=>"password");
$conn sqlsrv_connect$serverName$connectionInfo);
$conn === false ) {
print_rsqlsrv_errors(), true));

$stmt sqlsrv_query$conn"SELECT * FROM Table_1");
$stmt === false ) {
print_rsqlsrv_errors(), true));

     Process query results here.

/* Free the statement resources. */



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.

See Also

add a note add a note

User Contributed Notes 1 note

2 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