#19370 [Opn->Csd]: Stored procedure with multiple row sets
| From: | fmk@php.net | Date: | Tue, 03 Dec 2002 18:58:30 +0000 |
| Subject: | #19370 [Opn->Csd]: Stored procedure with multiple row sets | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-26550@lists.php.net to get a copy of this message | ||
ID: 19370
Updated by: fmk@php.net
Reported By: pvy@novosoft.ru
-Status: Open
+Status: Closed
Bug Type: MSSQL related
Operating System: windows 2000/sp3
PHP Version: 4.2.3
New Comment:
In PHP 4.3.0 this will be changed so multiple results are allowd in
storred procedures.
The code to access both results and return values would look like
this:
$stmt=mssql_init("z_test");
mssql_bind($stmt, "RETVAL", &$retval, SQLINT4);
$result=mssql_execute($stmt);
do {
while ($row = mssql_fetch_assoc($result))
print_r($row);
} while (mssql_next_result($result));
print($retval);
mssql_free_result($result);
Previous Comments:
------------------------------------------------------------------------
[2002-09-12 04:03:25] pvy@novosoft.ru
Hello!
I create next procedure in MSSQL 7.0:
CREATE PROCEDURE z_test AS
begin
select 1
select 2
select 3
return 2003
end
then I wrote next script:
<?php
error_reporting(32767);
mssql_connect ( '***', '*****','******' );
mssql_select_db('my_db');
for ($i=1; $i<5; $i++) {
$stmt=mssql_init("z_test");
$result=mssql_execute($stmt);
mssql_free_result($result);
}
?>
and got next answer from php:
Warning: mssql_execute: multiple recordsets from a stored procedure
not supported yet! (Skipping...) in D:\project
s\eve\htdocs\mssql.php on line 9
Warning: MS SQL: stored procedure execution failed. in
D:\projects\eve\htdocs\mssql.php on line 9
Warning: mssql_free_result(): supplied argument is not a valid MS
SQL-result resource in D:\projects\eve\htdocs\mss
ql.php on line 9
Warning: MS SQL: unable to init stored procedure in
D:\projects\eve\htdocs\mssql.php on line 9
Warning: mssql_execute(): supplied argument is not a valid MS
SQL-Statement resource in D:\projects\eve\htdocs\mssq
l.php on line 9
Warning: mssql_free_result(): supplied argument is not a valid MS
SQL-result resource in D:\projects\eve\htdocs\mss
ql.php on line 9
Warning: MS SQL: unable to init stored procedure in
D:\projects\eve\htdocs\mssql.php on line 9
Warning: mssql_execute(): supplied argument is not a valid MS
SQL-Statement resource in D:\projects\eve\htdocs\mssq
l.php</b> on line 9
Warning: mssql_free_result(): supplied argument is not a valid MS
SQL-result resource in D:\projects\eve\htdocs\mss
ql.php on line 9
As I understand this log - first time _execute function get normal
result resource but in next we see "unable to init" error.
How I can clear old result set for prevent these errors?
and also, how I can get number in 'return' string?
Thanks in advise,
Vladimir.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=19370&edit=1