【发布时间】:2013-09-26 09:42:02
【问题描述】:
我遇到了 odbc_* 函数的问题。这是我遇到的第一个问题。 我有以下代码:
$conn = odbc_connect('DSN', 'USERNAME', 'PASSWORD');
$stmt = odbc_prepare($conn, "
SELECT *
FROM Table1 AS a
INNER JOIN Table2 AS c
ON c.StudentId = a.StudentId
AND c.ContactId = ?
AND c.SetId = a.SetId
WHERE a.SetId = ?
");
$result = odbc_execute($stmt, array('14153', '2013/2014'));
然而,这会产生错误:
Warning: odbc_execute(): SQL error: [Microsoft][ODBC SQL Server Driver]Invalid parameter number, SQL state S1093 in SQLDescribeParameter
如果我删除c.ContactId = ? 并且不绑定值14153,则查询工作正常。
但是我在另一个查询上绑定了相同的值,它工作正常!
有人知道这个错误是什么意思吗? 非常感谢
【问题讨论】:
-
看起来您传入的参数应该是整数? (
SetId) -
2013/2014参数工作正常,它的14153参数没有绑定,但我尝试在没有引号的情况下绑定它,但不幸的是仍然产生相同的错误:(,而且在数据库,SetId 字段定义为文本字段
标签: php sql-server sql-server-2005 odbc