1.我不用mssql_bind等函数来执行MSSQL的SP
还是用普通的方法,即mssql_query("exec sp_name @a,@b");2.output用起来比较麻烦,我是一般返回结果集的,即 select @output 名字。
所以你的@total就不需要了,直接在SP内declare就行了3.如有返回的参数和结果集,可以把输出参数也作为结果集,即返回两个结果集然后用 这样的方法来取(手册中的例子):
   $link = mssql_connect ("localhost", "userid", "secret");
    mssql_select_db("MyDB", $link);
    $SQL = "exec sp_name @a,@b";
    $rs = mssql_query($SQL, $link);
    do {
        while ($row = mssql_fetch_row($rs)) {
        }
    } while (mssql_next_result($rs));

解决方案 »

  1.   

    1.我不用mssql_bind等函数来执行MSSQL的SP
    还是用普通的方法,即mssql_query("exec sp_name @a,@b");2.output用起来比较麻烦,我是一般返回结果集的,即 select @output 名字。
    所以你的@total就不需要了,直接在SP内declare就行了3.如有返回的参数和结果集,可以把输出参数也作为结果集,即返回两个结果集然后用 这样的方法来取(手册中的例子):
       $link = mssql_connect ("localhost", "userid", "secret");
        mssql_select_db("MyDB", $link);
        $SQL = "exec sp_name @a,@b";
        $rs = mssql_query($SQL, $link);
        do {
            while ($row = mssql_fetch_row($rs)) {
            }
        } while (mssql_next_result($rs));
      

  2.   

    to bflovesnow(北风) :
    我正是用返回多个结果集的方法解决了问题,
    只是我想真如我上面所说的:
    同事返回结果集和输出参数应该是可行的所以让大家来讨论讨论,
    :)可是这么旧也没人给出有效的方法:((((