将PHP变量绑定到ODBC SQL UPDATE语句

时间:2013-04-22 13:26:38

标签: php sql odbc

我正在尝试使用PHP中的ODBC将参数绑定到UPDATE语句,但是SQL语句失败了,我不能为我的生活找出原因。我已经尝试了谷歌搜索,但似乎很少有关于使用ODBC与PHP而不是MySQLi和PDO相关的信息。

我发现参数绑定的大多数例子都使用SELECT语句,但据我所知,这不应该有所作为。我找到的最接近的答案是here on 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

当我删除参数绑定时代码有效,所以如果最坏的情况发生,我可以尝试尽可能地清理数据,但这显然不是优选的。

1 个答案:

答案 0 :(得分:0)

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