2011-09-07 56 views
1

我有一个MSSQL中的存储过程需要2个输入参数。 @ID int = 0和@TYPE varchar(20)='员工'PHP mssql_bind失败

从PHP中调用这个存储过程没有输入参数工作正常。使用Management Studio中的参数调用它可以正常工作。我遇到的问题是在mssql_bind中@TYPE输入参数。

我已验证我的连接和语句设置正确,因为我可以调用存储过程就好了,只要我不绑定任何东西。如果我执行了mssql_bind,那么请求会立即失败,就好像有语法错误并且页面未被正确解释。即使设置了ini_set('display_errors',1)和error_reporting(E_ALL),我也没有错误。该页面失败。

这里是MSSQL连接的代码。

$statement = mssql_init("Stored_Procedure", $mssql_connection); 
mssql_bind($statement, '@TYPE', 'Applicant', SQLVARCHAR, false, false, 20); 
$results['applicants'] = mssql_execute($statement) 

就像我说的,这些语句在没有mssql_bind的情况下工作得很好。在那里,页面无法立即加载而没有错误。如果任何人有任何想法可能会发生在这里,我很乐意听到它!预先感谢您提供的任何帮助。

回答

0

您无法将值传递给mssql_bind。你必须传递一个变量。将值'Applicant'赋值给变量$ type,并传递该变量。

+0

不知道为什么我很久以前没有看到这个答案。这当然有诀窍! –