Contoh Penulisan Koneksi Database Mysqli dengan PHP Class

Minggu, 26 Februari 2017 02:16 Jhoel Rocher - Website

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 kita harus tau dulu apa itu mysql, menurut wiki mysql merupakan sebuah perangkat lunak dengan manajemen basis data multi user dan multithreat. Sedang mysqli itu merupakan pengembangan dari Mysql cuma di tambah i akhir kata yang merupakan singkatan dari improved yang artinya di tingkatkan. Jadi MySqli sebenarnya masih menggunakan bahasa program yang sama dan model yang sama misal sama-sama menggunakan phpmyadmin tetapi ada beberapa fungsi bahasanya yang di hilangkan atau di ganti dengan bahasa yang baru.

Nah yang akan kita buat kali ini ialah contoh koneksi php mysql menggunakan class di php seperti contoh pada gambar berikut ini.

Class database

Images by postikel

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 code 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 kita di atas dengan nama database.class.php atau terserah kamu 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 dl. Berikut code 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 ini berguna apabila pindah hosting kita hanya mengganti bagian ini saja untuk settingan server, atau bisa juga mengisi settingan lainnya untuk website pada satu file, seperti atribut web untuk nama domain, judul, slogan, kata kunci, dan lain-lain.

Langka selanjutnya ialah 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'];
        }
    }
}
?>

Seperti itulah contohnya, kita bisa menggunakan query database mysql dalam Class PHP dan mengeksekusinya dari luar class.

Demikian sudah penjelasan sedikit contoh penggunaan class untuk koneksi database mysqli, apabila ada kekurangan dan kurang paham silahkan di tanya melalui kolom komentar di bawah.

Jangan lupa pula untuk di share demi kemajuan website ini :D.


Bagikan Artikel

Baca Juga
Bintang
9 Bulan yang lalu Thank tutornya sangat membantu saya

Tambah Komentar

Terbaru

Populer

Komentar