MYSQL で PDO を使用しています。コードが挿入ステートメントを実行する場合があります。進まないけど。このコードは、私の会社で過去 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));
}
}
私は適切なデバッグを行い、すべてが正しく関数に渡されています。
そして、ここにexec関数があります
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 によってスローされるエラーはなく、毎日数千の SQL ステートメントを処理します。与えられた挿入ステートメントを処理しない理由についてのアイデアや推測をいただければ幸いです。
ありがとうございました。
また、lastInsertid() を実行すると、新しい ID を取得できますが、データベースには表示されません。