İşte sorun: Bir komut veritabanı değiştirerek başlar ve bir şeyler yanlış gittiğinde, veritabanı genellikle bozuk. Örneğin, bir kullanıcı tablo ve Resimleri tablo var diyelim.
Bir komut dosyası, bir kullanıcı veri kümesi oluşturur ve bir sonraki hatlarında bir fotoğraf veri kümesi oluşturmak için çalışır. Fotoğraf bir User_id sütun vardır. Şimdi bir şeyler yanlış gider ve PDO'su lastInserId () kullanıcı id dönmez varsayalım. Peki kötü durumda olur: Biz hiçbir fotoğrafı ile bir kullanıcı ve hiçbir geçerli user_id bir fotoğraf olsun. Kırık referans. Debug 3 hafta.
Sorunların tam olarak bu tür önlemek için, takip için herhangi bir iyi stratejileri var mı? Aşağıda benim kodda, ben en azından bir dosyaya bu oturum ve daha fazla hasar ve db curruption önlemek için komut dosyası yürütme bırakmayı deneyin görebilirsiniz.
public function lastInsertId() {
$id = $this->dbh->lastInsertId();
if (!is_numeric($id)) {
$this->logError("DB::lastInsertId() did not return an id as expected!");
die();
}
return $id;
}
Belki bir sorgu B benzeri bir sorgu A bağlıdır, ve herhangi bir zamanda, her yerde İşlemler kullanmak zorunda? Çözüm gitmek için mi?
Ben kalıp önce bir "önlem geri alma" yapmalıyım () diyoruz? Ben o olur, bu noktada çok zarar olmaz sanırım? Ben emin değilim ...