因此,感谢这里用户的建议,我已经开始将我的代码移植到 PDO。一切都很顺利,直到出现了一个小问题。
我有一个小函数来处理我的数据库调用,它基本上生成 SQL 查询,执行 $dbh->prepare ($sql),然后循环并绑定值,然后执行查询。
$sth = $dbh->prepare ($sql);
// bind parameters
if ($action == 'insert' || $action == 'update') {
reset ($array);
foreach ($array as $key => &$value) {
if ($value != 'NOW()') {
$sth->bindParam (':' . $key, $value);
}
}
}
$sth->execute();
这工作正常,直到我需要插入一个值“0”。没有返回错误,但插入到 db 中的值原来是表中列类型的最大值,在本例中为“137”。
我希望有人可以解释正在发生的事情并提供解决方案,而不是仅仅给我一个修复,这样我才能更好地理解这一点。
干杯,卢克