我正在将 PDO 与 MYSQL 一起使用。有时当代码执行插入语句时。但它不去。在过去的 8 个月里,这段代码一直在我的公司运行并完成它的工作,现在某些插入语句失败了。
public static function update($id,$table,$fields,$output=false,$pool = false){
$sql = "";
if($pool){
foreach($fields as $fields_single){
$fields_id = 0;
if(isset($fields_single["id"])) $fields_id=$fields_single["id"];
$sql .= self::update_sql($fields_id,$table,$fields_single,$output)."; ";
}
return max($id,self::exec($sql));
}else{
$sql = self::update_sql($id,$table,$fields,$output);
return max($id,self::exec($sql));
}
}
我已经进行了适当的调试,并且所有内容都正确地传递给了函数。
这是执行功能
public static function exec($query,$output=false){
self::initialise();
self::$query_count++;
try{
if($output) echo $query."<br /><br />";
self::$db_connection->exec($query);
return self::$db_connection->lastInsertId();
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}
}
PDOException 没有抛出任何错误,它每天处理 1000 条 sql 语句。任何关于它为什么不处理给它的插入语句的想法或猜测,将不胜感激。
谢谢你。
此外,当我执行 lastInsertid() 时,我得到了新 ID,但我从未在数据库中看到它。