Blog

Hallo,

 

Kali ini Kabyos! mau share pengalaman yang baru nih. Jadi tim Kabyos! diminta mengembangkan aplikasi berbasis PHP yang menggunakan framework Codeigniter. Sejauh sebelumnya gak ada masalah sih, aman dan lancar jaya. Tapi ketika kita mau buat report mulai lah masalah ditemukan. Jadi kita bikin report menggunakan DataTable. Kita udah bikin sampai datanya tampil, nah ketika mencoba filter data dari kolom search muncul alert yang intinya request dari ajax ke server error. Kita telusuri error di server dan muncul response code 500 yang artinya Internal Server Error, dan message dari PHPnya adalah

Call to undefined method CI_DB_mysql_driver::group_start()

 

Jujur aja error tersebut bikin tim Kabyos! cukup pusing sampai-sampai kita rehat sebentar untuk tanding PES 2018 hahahahaa. Setelah beberapa jam kita tanding, tim Kabyos! berdiskusi lagi ngomongin error tersebut. Dan akhirnya kita nemu sebuah clue. 

 

Pertama, versi Codeigniter yang sekarang dipake itu adalah versi 2.1.3. Function group_start() dan group_end() tidak ada di Codeigniter versi 2.x. Jadi, plan pertama kita mau upgrade langsung ke versi 3.0.0. Dan kita coba baca-baca dokumentasi di Codeigniternya, akhirnya kita mengurungkan niat buat upgrade karena terlalu jauh dan terlalu banyak perubahannya dari versi 2.1.3 ke versi 3.0.0. Jadi keputusan yang kita ambil adalah dengan meng-upgrade system codeigniter yang menangani database. Berikut langkahnya :

  1. Download Codeigniter versi 3.0.0, lalu extract.
  2. Copy file & folder yang ada di dalam "system/database/" dari Codeigniter 3.0.0 yang udah di extract tadi.
  3. Dan step terakhir edit file "application/config/database.php", cari parameter $db['default']['dbdriver'] = 'mysql'; kita cuma perlu ganti dari 'mysql' ke 'mysqli'. Parameternya menjadi $db['default']['dbdriver'] = 'mysqli';.

Setelah di refresh dan test search dari kolom search di DataTable, dan hasilnyaa..... It Works !!!. Di log server kita response code nya menjadi 200 yang artinya OK alias running well. Oh ya, cara ini tidak direkomendasikan jika agan sudah meng-custom file yang ada di dalam "system/database", karena dikhawatirkan file-file yang sudah agan custom di-replace. Sebaiknya backup dulu sebelum eksekusi, jika terkendala bisa dirollback.

share this