2011-08-01 47 views
0

我有一個用T-SQL編寫的存儲過程,並希望使用表變量。將T-SQL表變量與PHP的MS SQL Server驅動程序結合使用

下面是一個簡單的例子:

CREATE PROCEDURE test 
AS 
BEGIN 
    DECLARE @tempTable TABLE(  
     id int, data nvarchar(128) 
    ) 

    INSERT INTO @tempTable (id, data) 
     SELECT id, data FROM otherTable 

    SELECT * FROM @tempTable 
END 

我創建Windows Server 2003的

上運行。如果我打電話的MS SQL Server Management Studio中的程序MS SQL Server 2008上的程序(10.0版.2531.0)我得到正確的結果。

這裏是我的問題: 如果我打電話從PHPDriver聲明我得到沒有結果

這似乎每當我使用臨時表變量是這樣..

這裏是PHP代碼:提前任何幫助:)

回答

0

嘗試增加SET NOCOUNT ON

$dataBaseConnectionInfo = array(
    'UID'  => $this->loginName, 
    'PWD'  => $this->password, 
    'Database' => $this->databaseName 
); 

$serverHandle = sqlsrv_connect(
    $this->serverAddress, 
    $dataBaseConnectionInfo 
); 

$queryResult = sqlsrv_query($serverHandle, 'EXECUTE test'); 
$fetchedRows = sqlsrv_fetch_array($queryResult, SQLSRV_FETCH_NUMERIC); 
var_dump($fetchedRows); 

THX在存儲過程的頂部

+0

哦,是的,這解決了我的問題。 –

相關問題