Membuat Koneksi Database menggunakan PHP PDO

Pada kesempatan kali ini saya akan menulis tentang bagaimana membuat koneksi ke database di PHP menggunakan PDO. Jika ada teman-teman yang belum mengetahui apa itu PDO, teman-teman bisa mengunjungi pembahasan sebelumnya mengenai Pengertian PDO (PHP Data Objects).

 

Untuk memulai praktek, pastikan terlebih dahulu dikomputernya sudah terinstall web server. Teman-teman bisa memakai aplikasi paketan untuk membuat web server seperti XAMPP, WAMP dan sejenisnya.

Jika dikomputer teman-teman sudah tersedia web server, kita sudah bisa untuk memulai prakteknya. Silahkan buat file bernama koneksi.php dan simpan di folder root web server masing-masing. Karena saya pakai XAMPP, maka saya menyimpannya di folder htdocs. Tulis sintak seperti dibawah ini.

<?php 
class koneksi {
 protected $dsn = "mysql:dbname=db_name;host=127.0.0.1";
 protected $user = "user_db";
 protected $dbPass = "password_db";
 protected $conn;

 public function __construct() {
  try {
     $pdo = new PDO($this->dsn, $this->user, $this->dbPass, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); 
     $this->conn = &$pdo;

   } catch (PDOException $e) {
     echo "Koneksi ke database gagal: ".$e->getMessage();
     die();
   }
 }

 public function __destruct() {
  try {
            $this->conn = null; //Closes connection
        } catch (PDOException $e) {
            file_put_contents("log/dberror.log", "Date: " . date('M j Y - G:i:s') . " ---- Error: " . $e->getMessage().PHP_EOL, FILE_APPEND);
            die($e->getMessage());
        }
 }
}
?>

Karena PDO itu cocok untuk pemrograman berbasis objek, maka disini kita mencoba untuk membuat kodingan yang berbasis OOP juga. Semua kode kita bungkus dengan class yang bernama koneksi. Untuk inisialisasi alamat dan kunci database kita buat beberapa variable yang bersifat protected, artinya variabel tersebut bersifat global tetapi dibatasi hanya sebatas class di package yang sama. Di dalam dunia OOP, protected bisa disebut modifier. Ada beberapa modifier yang bisa digunakan dalam dunia OOP. Tapi hal ini akan saya bahas ditulisan yang lain. Sekarang kita fokus saja untuk praktek membuat koneksi database menggunakan PDO.

Pada kodingan diatas kita bisa lihat untuk peng-inisialisasi-an variable untuk koneksi ke database MySQL, seperti berikut :

protected $dsn = "mysql:dbname=db_name;host=127.0.0.1";
protected $user = "user_db";
protected $dbPass = "password_db";

Bisa kita lihat pada variabel $dsn value nya berisi informasi nama database dan host tempat database berada. variabel $user berisi username dari database kita, dan $dbPass berisi password database. Pada variable $dsn, value nya bisa berbeda-beda tergantung dari database apa yang kita gunakan. Contohnya :

SQL Server Database : "mssql:host=$host;dbname=db_name"
Sybase : "sybase:host=$host;dbname=db_name"
SQLite : "sqlite:my/database/path/database.db"



Setelah variabel sudah di inisialisasi, selanjutnya kita akan membuat perintah untuk dapat berkomunikasi dengan database, sintaknya dapat terlihat pada bagian

new PDO($this->dsn, $this->user, $this->dbPass, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION))

Sintak diatas adalah cara pemanggilan PDO untuk mengkoneksikan ke database sesuai dengan alamat yang sudah kita inisialisasi.

Untuk penerapan lebih lengkapnya terhadap aplikasi PHP, bisa teman-teman lihat dan pelajari pada postingan saya di Membangun sistem inventory barang bagian 1 (Proses Login) - PHP OOP & MySQL  dan di Membangun sistem inventory barang bagian 2 (Proses CRUD) - PHP OOP & MySQL.

0 komentar: