存储过程为create procedure test
@id int
as
begin
select * from user
end
go
PHP关键代码为$sql="exec test 1";
$result = mssql_query($sql);
while($row=mssql_fetch_array($result)){
echo $row['ID'];
}
输出不出来,提示Warning: mssql_fetch_array(): supplied argument is not a valid MS SQL-result resource我确定在sql命令行下这个存储过程是可以返回结果集的,是哪里错了呢?

解决方案 »

  1.   

    调用方式有问题:
    可参考下如下方式: $link = mssql_connect(...);
    $wf_id = 10;
    $stmt = mssql_init("test", $link) or die("初始化存储过程失败!");
    mssql_bind($stmt, "@id", $wf_id, SQLINT4);
    $rs = mssql_execute($stmt, false);print_r($rs);
      

  2.   

    貌似mssql_fetch_array是要区分大小写的,也可以把$result打出来看看里面有什么
      

  3.   

    Warning: mssql_fetch_array(): supplied argument is not a valid MS SQL-result resource$sql这个返回的资源有问题,应该是调用的方式不正确。
      

  4.   

    我的错,其实是可以的,我mssql_fetch_array( 参数),我把参数写成sql语句了,疏忽疏忽。