3

我在 MSSQL 中有一个存储过程,它需要 2 个输入参数。@ID int = 0 和 @TYPE varchar(20) = 'Employee'

在没有输入参数的情况下从 PHP 调用这个存储过程可以正常工作。使用 Management Studio 中的参数调用它可以正常工作。我遇到的问题是在 mssql_bind-ing @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 的情况下工作得很好。在那里,页面无法立即加载而没有错误。如果有人知道这里可能发生了什么,我很想听听!提前感谢您提供的任何帮助。

4

1 回答 1

1

您不能将值传递给 mssql_bind。你必须传递一个变量。将值“Applicant”分配给变量 $type,并传递该变量。

于 2012-08-30T07:16:07.540 回答