从PHP传递参数到MSSQL存储过程时出错

时间:2011-08-22 12:47:37

标签: php sql-server-2008 stored-procedures

我试图从php脚本调用MS SQL SP。当我尝试调用需要参数作为输入的过程(现在硬编码参数)时,它失败了。代码如下:

$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);

1 个答案:

答案 0 :(得分:0)

检查数据类型

转换它。

相关问题