Maybe it's unique to my FreeTDS configuration, but if I don't call mssql_free_statement() after every stored procedure (i.e. mssql_init, mssql_bind, mssql_execute, mssql_fetch_array), all subsequent stored procedures on the same database connection will fail.
I only mention it because this man-page deprecates the use of mssql_free_statement(), saying it's only there for run-time memory concerns. At least in my case, it's also a crucial step in the process of running a stored procedure. If anyone else has problems running multiple stored procedures on the same connection, I hope this helps them out.
mssql_free_statement
(PHP 4 >= 4.3.2, PHP 5, PECL odbtp >= 1.1.1)
mssql_free_statement — Liberar la memoria ocupada por la sentencia MS SQL
Descripción
bool mssql_free_statement
( resource
$stmt
)Sólo es necesario llamar a la función mssql_free_statement() si existe la preocupación de que se está utilizando demasiada memoria durante la ejecución del script. La memoria asociada a la sentencia será liberada automáticamente cuando finalice el script. Si se llama a la función mssql_free_statement() indicando el identificador de la sentencia como argumento, la memoria asociada a la sentencia será liberada.
Valores devueltos
Devuelve TRUE en caso de éxito o FALSE en caso de error.
Ejemplos
Ejemplo #1 Ejemplo de mssql_free_statement()
<?php
// Crear una nueva sentencia
$stmt = mssql_init('test');
// Vincular los valores y ejecutar la sentencia aquí ....
// una vez se haya realizado el paso anterior, eliminaremos la sentencia de la memoria
// utilizando mssql_free_statement de la siguiente forma:
mssql_free_statement($stmt);
?>
Ver también
- mssql_bind() - Añade un parámetro a un stored procedure (procedimiento almacenado) MSSQL (local o remoto)
- mssql_execute() - Ejecuta un stored procedure (procedimiento almacenado) en una base de datos del servidor MS SQL
- mssql_init() - Inicializa un stored procedure (procedimiento almacenado) local o remoto
- mssql_free_result() - Liberar la memoria del recurso resultado de MS SQL
mitch at 1800radiator dot kom ¶
8 years ago
