2011-08-22 175 views
0

我想從PHP腳本調用MS SQL SP。當我嘗試調用需要參數作爲輸入的過程時(現在硬編碼參數),它失敗了。代碼如下:將參數傳遞給MSSQL的錯誤存儲過程從PHP

$link = mssql_connect('xx.xx.xx.xx', 'xx', 'xx'); 
$report_id=79; 
$proc=mssql_init ('usp_IVR_FormatImportData', $link); 
mssql_bind ($proc, '@ReportID', $report_id, SQLINT4, FALSE); 
mssql_execute ($stmt); 

我得到的錯誤是這樣的:

PHP Warning: mssql_execute(): message: Conversion failed when converting the varchar value ':2' to data type int. (severity 16) in /var/lib/asterisk/wbrivr/scripts/test.php on line 24 

PHP Warning: mssql_execute(): stored procedure execution failed in /var/lib/asterisk/wbrivr/scripts/mobin3.php on line 24 

相同的代碼工作正常,當我需要調用沒有輸入參數,所以我想知道的SP,如果它是一個參數不匹配或由錯誤行指示的東西。我正在運行php 5.1.6,服務器是SQL Server 2008.

運行下面的這行代碼也給出了相同的錯誤。

mssql_query("exec usp_IVR_FormatImportData 79", $conn); 

回答

0

檢查數據類型

轉換。

+0

謝謝薩爾曼。 MS SQL存儲過程中的數據類型是BIGINT。我嘗試了從SQLINT1到VARCHAR的所有內容,沒有任何效果。 – Joe

相關問題