从PHP向MSSQL存储过程传递参数时出错
我正在尝试从php脚本调用MS SQL SP。当我尝试调用需要一个参数作为输入的过程时(现在对参数进行硬编码),它失败了。代码如下:从PHP向MSSQL存储过程传递参数时出错,php,sql-server-2008,stored-procedures,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); m
$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时,同样的代码也可以正常工作,因此我想知道这是参数不匹配还是错误行指示的问题。我正在运行PHP5.1.6,服务器是SQLServer2008
仅运行下面这行代码也会产生相同的错误
mssql_query("exec usp_IVR_FormatImportData 79", $conn);
检查数据类型
或
转换它。谢谢萨尔曼。MS SQL存储过程中的数据类型为BIGINT。我尝试了从SQLINT1到VARCHAR的所有方法,但都没有效果。