私は、私が期待する方法を操作していない単純なtry catchを持っています。これは、PDOとの取引を使用しての私の最初の試みである:PHP PDOトランザクションの問題
try
{
$dbo = Db::init();
$dbo->beginTransaction();
$dbo->exec("TRUNCATE TABLE {$this->table}");
$dbo->exec($insert);
$dbo->commit();
}
catch(Exception $e)
{
$dbo->rollBack();
echo 'Failed to sync ' . $this->table;
}
問題は$dbo->exec("TRUNCATE TABLE {$this->table}");
がロールバックされません、$dbo->exec($insert);
が失敗した場合、です。何か案は?
'$ insert'とは何ですか? – tplaner
文字列(動作しています)。しかし、意図的に例外をスローするために構文エラーを入れた場合、ロールバックするとテーブルのワイプが発生する前にロールバックされません – grep