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.
(PHP 4 >= 4.3.2, PHP 5, PECL odbtp >= 1.1.1)
mssql_free_statement — Free statement memory
mssql_free_statement() only needs to be called if you are worried about using too much memory while your script is running. All statement memory will automatically be freed when the script ends. You may call mssql_free_statement() with the statement identifier as an argument and the associated statement memory will be freed.
Statement resource, obtained with mssql_init().
TRUE în cazul
FALSE în cazul eșecului.
Example #1 mssql_free_statement() example
// Create a new statement
$stmt = mssql_init('test');
// Bind values here and execute the statement
// once we're done, we clear it from the memory
// using mssql_free_statement like so: