1

我正在尝试在 PHP 中使用 ODBC 将参数绑定到 UPDATE 语句,但 SQL 语句失败,我终生无法找出原因。我试过谷歌搜索,但似乎很少有关于将 ODBC 与 PHP 结合使用的信息,而不是 MySQLi 和 PDO 之类的信息。

我发现的参数绑定的大多数示例都使用 SELECT 语句,但据我所知,这应该没有什么区别。我找到的最接近的答案是在 stackoverflow 上。据我所知,他们正在做我正在做的事情,但我不断收到错误消息。这是我的代码:

$updQuery = "UPDATE Demographic SET dmg_FirstName=? WHERE dmg_ID=?";
$update = odbc_prepare($connect, $updQuery);

$fname = $_POST['firstname'];
$pID = 145100007;
$updResult = odbc_execute($update, array($fname, $pID)) or die (odbc_errormsg());

这是我在上面的代码中不断遇到的错误:

Warning: odbc_execute(): SQL error: [Microsoft][ODBC Driver Manager] SQL data type out of range, SQL state S1004 in SQLBindParameter in C:\xampp\htdocs\work\ajaxdd.php on line 44

当我删除参数绑定时,代码可以工作,所以如果最坏的情况发生在最坏的情况下,我可以尽我所能尝试清理数据,但这显然不是可取的。

4

1 回答 1

0

这可能意味着您正在尝试插入一个高于该整数列允许的 ID。首先尝试验证是否是这种情况。是什么类型的dmg_ID?145100007 是一个相当高的数字,所以我怀疑这可能是罪魁祸首。

于 2013-04-22T13:37:06.170 回答