Codeigniter - Etkin kayıt kullanırken hataları işleme

2 Cevap php

Ben CodeIgniter site için birkaç model koyarak yaşıyorum ve Active Record sistemi kullanırken ortaya çıkabilecek hataları işlemek için nasıl belgelerde herhangi bir sözcüğü bulmak için görünmüyor olabilir.

Dokümantasyon bazı nispeten ilgili sorgularla birlikte CRUD gerçekleştirmek için nasıl gösterir ama çizgi boyunca hiçbir yerde ele ele hatadır. Ben hızlı bir google arama yaptım ve Active Record sınıflar istisnalar atmak yok gibi görünmektedir. Bu durumda mı? Hiçbir try catch sonra ...

Peki, nasıl CodeIgniter'daki veritabanı hataları işlemek için kod? (Vs vs tuşu, kırık tutarlılığını, kesme, kötü veri türlerini çoğaltmak, bağlantı başarısız)

2 Cevap

Eğer aktif kayıt sınıfını kullanarak ya da olsanız, $this->db->_error_message() ve $this->db->_error_number() kullanarak veritabanı hataları erişebilirsiniz.

Bir mysql veritabanı kullanıyorsanız, bu fonksiyonlar mysql_error() eşdeğerdir ve mysql_errno(), sırasıyla. Eğer kullandığınız veritabanı için veritabanı sürücüsü için kaynak koduna bakarak bu işlevleri kontrol edebilirsiniz. Onlar sistem / veritabanı / sürücüleri bulunan konum.

Bir sorgu çalıştırdıktan sonra Yani, sizin gibi bir şey kullanarak hataları kontrol edebilirsiniz:

if ($this->db->_error_message()) \\handle error

Düz CodeIgniter destek forumdan:

$res = $this->db->query($str);

if (!$res) {
  // if query returns null
  $msg = $this->db->_error_message();
  $num = $this->db->_error_number();

  $data['msg'] = "Error(".$num.") ".$msg;
  $this->load->view('customers_edit_view',$data);
} 

Ayrıca CI app config dosyasına girecek ve aşağıdaki ayarlayarak Active Record log hataları unutmayın:

$config['log_threshold'] = 1;