Rabu, 01 Juni 2016

CRUD Di PHP Menggunakan Database SQLite



Pada kesempatan kali ini saya akan mencoba menunjukkan bagaimana cara menggunakan SQLite di PHP dan melakukan fungsi CRUD. Sebelum memulai pastikan Anda membaca terlebih dahulu artikel Mengenal SQLite dan pastikan juga Anda sudah memiliki Web Server terinstall pada PC/Laptop Anda dan support SQLite3. Saran saya install xampp versi terbaru di apachefriends.org

Setelah Anda sudah yakin bahwa Web Server Anda support SQLite3 sekarang saatnya memulai.

Buatlah file PHP baru menggunakan IDE atau Text Editor favorit Anda, disini saya tidak akan memaksa Anda menggunakan IDE yang saya gunakan :D. Beri nama file tersebut koneksi.php. Nantinya file ini yang akan kita gunakan untuk membuat database baru serta koneksi ke database SQLite dan melakukan fungsi-fungsi lain untuk berkomunikasi dengan database menggunakan query sql seperti membuat tabel baru dan lain sebagainya.

Dalam pembuatan file ini kita menggunakan Class, jadi disini kita bermain dengan PHP OOP.
Berikut isi dari file koneksi.php yang sudah saya buat untuk mempermudah Anda dalam melakukan proses CRUD.



Selanjutnya buat file baru lagi beri nama index.php kemudian include file koneksi.php.
require_once("koneksi.php");
Sekarang kita akan mencoba membuat database baru, berikut codingnya
 
$db = new SQLiteDatabase('test.sqlite'); //membuka file database sqlite sekaligus membuat file baru jika file tidak ditemukan
Pada coding diatas dapat Anda lihat bahwa kita membuat variabel $db untuk merepresentasikan class dari SQLiteDatabase yang sebelumnya kita buat. Jika Anda melihat di class tersebut pada fungsi _construct dimana disitu kita membuka database sesuai dengan nama yang diberikan saat membuat objek SQLiteDatabase baru, secara otomatis jika file tidak ditemukan maka akan langsung dibuat file database baru sesuai dengan nama yang kita berikan. Sekarang kita akan coba mengecek apakah pada database memiliki tabel atau tidak dengan membaca data pada sqlite_master, tabel sqlite_master ini secara default sudah ada pada setiap database sqlite. berikut codingnya
$count = $db->get_table_count(); //mendapatkan jumlah tabel pada database
Dapat Anda liat bahwa saya menyimpan jumlah tabel pada variabel $count yang nantinya akan kita gunakan untuk melakukan pengecekan. Sekarang kita akan menulis kondisi menggunakan if statement. Disini saya akan mengecek apakah jumlah tabel kurang dari 1, jika ya maka buat tabel baru pada database. Disini saya membuat tabel dengan 2 kolom yaitu id dengan tipe data INTEGER dan nama dengan tipe dataVARCHAR, sedangkan yang ada di dalam kurung adalah maximal karakter atau angka yang dapat disimpan pada kolom tersebut.
if($count < 1){ //jika jumlah tabel kurang dari 1
//buat tabel baru dengan nama users dan membuat array baru untuk tiap kolom tabel
$db->create_table("users",array('id' => 'INTEGER(10)',
'nama' => 'VARCHAR(50)'
));
}
Setelah membuat tabel kita akan mencoba memasukkan data ke tabel tersebut.
//Menambahan Data ke tabel users
$db->add_data('users',array('id'=>'1','nama'=>'Muhammad Sayuti'));
Sekarang kita akan menampilkan data dalam bentuk array dengan memanggil fungsi get_data.
//Menampilkan Data dalam bentuk array
print_r($db->get_data('users'));
Sekarang kita akan mencoba mengupdate nama user dengan id 1 menjadi Sukirman kemudian menampilkan data dalam bentuk array.
//Mengubah nama user dengan id 1
if($db->update_data('users',array('nama'=>'Sukirman'),array('id'=>'1'))){
echo "
";
print_r($db->get_data('users'));
}

Yang terakhir kita akan mencoba untuk menghapus data yang ada pada tabel users.

//menghapus semua data pada tabel users
if($db->delete_data('users')){
print_r('
data berhasil dihapus');
}


Sampai disini kita sudah berhasil melakukan operasi CRUD. gimana mudah bukan ? dengan bantuan class yang sudah dibuat sebelumnya yaitu class SQLiteDatabase maka Anda tidak perlu menulis query sql lagi :D.

 Semoga bermanfaat !!!

Full Code