Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Transaksi Codeigniter

Menggunakan transactions berarti mendukung database untuk memasukkan data dengan aman. Jadi di Codeigniter kami menulis setiap fungsi terkait database di Model tidak di Pengontrol. . Dan dalam kode kedua Anda (yang tidak berfungsi) Anda telah menunjuk model di sana.(utils ). Sangat sederhana saya yakin ini tidak akan berhasil. Karena bukan merupakan insert data dengan model dan Controller paralel. Transaksi harus dikodekan dalam Model(Saya akan menulis dalam Model dalam jawaban saya ).

Muat barang-barang ini juga

  1. Perpustakaan Basis Data
  2. Kelas Model
  3. Pembantu URL
  4. Sesi

Asumsi

Dalam kode Anda, Anda telah menggunakan $data dan $test sebagai larik. Jadi saya berasumsi ada dua array untuk memasukkan dan memperbarui data.

Set data Anda

$data = array(
   'title' => 'My title' ,
   'name' => 'My Name' ,
   'date' => 'My date'
);

$id = 007;
$test = array(
   'title' => $title,
   'name' => $name,
   'date' => $date
);

Kode Anda

$this->db->trans_start(); # Starting Transaction
$this->db->trans_strict(FALSE); # See Note 01. If you wish can remove as well 

$this->db->insert('table_name', $data); # Inserting data

# Updating data
$this->db->where('id', $id);
$this->db->update('table_name', $test); 

$this->db->trans_complete(); # Completing transaction

/*Optional*/

if ($this->db->trans_status() === FALSE) {
    # Something went wrong.
    $this->db->trans_rollback();
    return FALSE;
} 
else {
    # Everything is Perfect. 
    # Committing data to the database.
    $this->db->trans_commit();
    return TRUE;
}

Catatan

  1. Secara default Codeigniter menjalankan semua transaksi dalam Mode Ketat. Saatmode ketat diaktifkan , jika Anda menjalankan beberapa grup transaksi, jika satu grup gagal, semua grup akan dibatalkan. Jika mode ketat dinonaktifkan , setiap kelompok diperlakukan secara independen , artinya kegagalan satu kelompok tidak akan mempengaruhi yang lain .


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mengekstrak dua digit berturut-turut dari bidang teks di MySQL?

  2. Cara menyimpan tanggal berulang dengan mengingat Waktu Musim Panas

  3. Cara Mengganti Nama Database di MySQL

  4. Perbedaan antara tipe data float dan desimal

  5. Sintaks SQL DROP DATABASE – Didaftarkan oleh DBMS