php sqlserver 存储过程,php调用sqlserver存储过程返回记录集01000错误一个例子

sqlserver存储过程中如果有print的变量或字符都需要注释掉,否则会产生01000的错误,另外在存储过程中加入 SET NOCOUNT ON参数

比较完整的调用存储过程的文章:

/*调用sqlserver存储过程返回记录集*/

function get_customer_money($fcompanynumber,$fdeptnumber){

//database host begin

$dbhost="172.16.0.1";

$dbuser="sa";

$dbpass="";

$dbname="dbtest";

$connectionInfo = array("UID" => $buser, "PWD" => $dbpass, "Database"=>$dbname,"CharacterSet"=>"utf-8");

$conn = sqlsrv_connect($dbhost, $connectionInfo);

$freturnamt = '0';

if($conn)

{

//echo "connect ok
";

//echo "Connection established.\n";

//需要用"{}"括起来,"?"代表存储过程所需要的参数,包括输入和输出的参数

$tsql_callSP = "{call pro_money_query(?,?)}";

$params = array(

array($fcompanynumber, SQLSRV_PARAM_IN),

array($fdeptnumber, SQLSRV_PARAM_IN)

);

$stmt3 = sqlsrv_query($conn, $tsql_callSP, $params);

if( $stmt3 === false)

{

//die(print_r(sqlsrv_errors(), true));

return '-1';

}

while($row = sqlsrv_fetch_array($stmt3, SQLSRV_FETCH_ASSOC)){

$freturnamt=$row["famt"];

//print_r($row);

}

sqlsrv_next_result($stmt3);

sqlsrv_free_stmt($stmt3);

sqlsrv_close($conn);

return $freturnamt;

}

else

{

echo "Connection could not be established.\n";

//die( print_r( sqlsrv_errors(), true));

return '-1';

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值