Selamat malam sobat darsitek, kembali lagi di artikel kali ini yakni kita akan membuat sebuah contoh penulisan koneksi database mysqli dengan php class yang kiranya dapat berguna untuk kamu yang akan membangun website dengan database mysql tentunya.
Apa itu MySql?
Sebelumnya melanjutkan, kita harus tau dulu apa itu mysql. Menurut wikipedia mysql merupakan sebuah perangkat lunak dengan manajemen basis data multi user dan multithreat. Sedangkan mysqli itu merupakan pengembangan dari Mysql, cuma di tambah i akhir kata yang merupakan singkatan dari improved yang artinya ditingkatkan. Jadi MySqli sebenarnya masih menggunakan bahasa program yang sama dan model yang sama misal sama-sama menggunakan phpmyadmin. Tetapi ada beberapa fungsi bahasanya yang dihilangkan atau diganti dengan bahasa yang baru.
Nah yang akan kita buat kali ini adalah contoh koneksi php mysql menggunakan class di php seperti contoh pada gambar berikut ini.
Pada gambar di atas adalah contoh file class database yang merupakan class php untuk membuat koneksi ke server database mysql kita.
Dalam membuat koneksi Mysqli sebenarnya cukup mudah, jika dalam Mysql Extension kita menghubungkan PHP ke database mysql dengan fungsi mysql_connect(), maka di mysqli kita mengkonekannya dengan lebih baik lagi yaitu dengan menggunakan Class di PHP yaitu new mysqli([string host],[srting username],[srting passwd],[string dbname],[int port],[string socket]).
Untuk kode koneksi Mysqli adalah berikut:
function connect() { $this->db = new mysqli($this->db_host,$this->db_user,$this->db_pass,$this->db_name); if ($this->db->connect_error) { die('Database Error : <b>'.$this->db->connect_error.'</b>'); } else { return $this->db; } }
Sekarang simpan file kalian di atas dengan nama database.class.php atau terserah anda dan simpan pada folder /lib di server kalian. Kemudian pada folder /include kita buat lagi file config untuk menyimpan data server mysql seperti nama server, nama database, dan lainnya. Berikut kode pada file config:
<?php if(!defined('core')){exit('No Dice!');} define('DB_HOST','severdatabase.com'); define('DB_USER','user_databse'); define('DB_PASS','katasandi'); define('DB_NAME','nama_database'); define('DB_PORT','3306'); ?>
Jadi kode ini berguna ketika kita ingin pindah hosting, kita hanya mengganti bagian ini saja untuk settingan server, atau bisa juga mengisi settingan lainnya untuk website pada satu file, seperti attribut web untuk nama domain, judul, slogan, kata kunci, dan lain-lain.
Langkah selanjutnya adalah menggunakan atau memanggil file koneksi database tadi pada semua php class di situs kita. Contohnya kita membuat satu file class utama untuk website dengan nama core.class.php pada folder /lib tadi. Berikut contoh kodenya:
<?php if(!defined('core')){exit('No Dice!');} class Core extends Database { protected $link; public $error = ''; public $success = ''; function __construct() { $this->link = parent::connect(); } public function search($key){ $query = $this->link->query("SELECT*FROM site_posts WHERE title LIKE '%$key%' OR description LIKE '%$key%'"); return $query; } } ?>
Pada kode di atas, kita menggunakan class Database di class Core dengan menggunakan extends. Jadi kita bisa menggunakan fungsi parent di setiap fungsi dalam class core untuk memanggil fungsi yang ada di class database seperti contoh pada fungsi _construct yang memanggil fungsi connect dengan parent::connect().
Ini baiknya menggunakan class di php, untuk setiap koneksi misalnya kita hanya menggunakan fungsi _construct() saja untuk mengeksekusi koneksi karena fungsi construct akan selalu berjalan ketika classnya di gunakan.
Berikut ini adalah contoh dalam menggunakan class core yang telah kita buat pada file index website kita.
<?php ob_start(); define('core', true); define('DS', DIRECTORY_SEPARATOR); define('DIR', dirname(__FILE__) . DS); include_once DIR.'include'.DS.'config.php'; include_once DIR.'lib'.DS.'database.class.php'; include_once DIR.'lib'.DS.'core.class.php'; $Core = new Core(); // Membuat variabel baru untuk class Core // Memanggil fungsi search dalam class Core if(isset($_GET['key'])) { $search = $Core->search($_GET['key']); if($search->num_rows > 0) { while($result = $search->fetch_array()) { echo $result['title']; } } } ?>
Kurang lebih seperti itulah contohnya, kita bisa menggunakan query database mysql dalam Class PHP dan mengeksekusinya dari luar class.
Demikian artikel singkat mengenai sedikit penjelasan contoh penggunaan class untuk koneksi database mysqli, apabila ada kekurangan atau materinya kurang dipahami, silahkan tanyakan melalui kolom komentar di bawah.
Sekian artikel kali ini dan jika dirasa bermanfaat jangan lupa untuk di share ke yang lain demi kemajuan website ini, terimakasih.