给你一个范例:
<?php
$hostname = "tszzp";
$dbuser = "sa";
$dbpasswd = "";$id = mssql_connect($hostname,$dbuser,$dbpasswd) or die("无法连接数据库服务器!");
//printf("%d<BR>\n", $id);
$db = mssql_select_db("stock",$id) or die("无法连接stock数据库!");
$stockcode='600600';
$id = 0;
$msg = 0;$query = "declare @result int, @id int, @msg varchar(20)\n";
$query.="exec @result=sp_test\n";
$query.="\"$stockcode\",\n";
$query.="@id output,\n";
$query.="@msg output;\n";
$query.="select @result result, @id id, @msg msg";$rresult = mssql_query($query) or die("无法执行SQL:$query");
$arr = mssql_fetch_array($rresult);
print $result;
print "<br>\n";
printf("%d, %d, %s<br>\n", $arr[result], $arr[id], $arr[msg]);
printf("%d, %s<br>\n", $id, $msg);?>

解决方案 »

  1.   

    改写一下:
    存储过程:
    CREATE PROCEDURE test
    (
      @id int output,
      @msg varchar(20) output
    )
    AS
      set @id = 100
      set @msg = 'hello world!'
    return 1
    PHP程序:
    <?
    ......
    $query ="declare @result int, @id int, @msg varchar(20)\n";
    $query.="exec @result=test @id output, @msg output\n";
    $query.="select @result result,@id id,@msg msg";$result = mssql_query($query) or die("can not execute $query");
    $arr = mssql_fetch_array($result);
    printf("%d, %d, %s<br>\n", $arr[result], $arr[id], $arr[msg]);
    ?>
      

  2.   

    在php中调用存储过程基本上和执行一个sql语句一样,
    比如这样
    create proc aa
      @text varchar(50)
    as
      begin
       select @text as [text]
      end--------------------------
    那么在php中调用时
    $server=mssql_pconnect("liuxiaping","sa","1234") or die("无法连接到服器");
    $db=mssql_select_db("Epg_community") or die ("无法连接到数据库");
    $query="exec aa '你好'";
    $re=mssql_query($query);
    这样不就可以了吗?
      

  3.   

    在php中调用存储过程基本上和执行一个sql语句一样,
    比如这样
    create proc aa
      @text varchar(50)
    as
      begin
       select @text as [text]
      end--------------------------
    那么在php中调用时
    $server=mssql_pconnect("liuxiaping","sa","1234") or die("无法连接到服器");
    $db=mssql_select_db("Epg_community") or die ("无法连接到数据库");
    $query="exec aa '你好'";
    $re=mssql_query($query);
    这样不就可以了吗?