BEGIN TRAN导致php sqlsrv返回空

时间:2014-03-27 10:53:32

标签: php sql sql-server codeigniter sqlsrv

这很奇怪,当我在sp中有“begin tran”时,它不会返回任何行,但是如果被带走,它可以正常工作。为什么会这样?我正在使用codeigniter sqlsrv db驱动程序。

ALTER proc [dbo].[sp_test] @MembershipId int, @CardNumber varchar(50) as

begin tran
select 'hello world' hi
commit tran

PHP

$sql = sprintf("EXEC [sp_test] @MembershipId=0,@CardNumber=123");       
$query =  $this->oDb->query($sql);
print_r($query->result());

1 个答案:

答案 0 :(得分:0)

对于那些可能面临这个问题的人来说,解决方案非常简单。

不要在查询中使用EXEC,所以应该是这个

$sql = sprintf("[sp_test] @MembershipId=0,@CardNumber=123");