Koneksi database dengan PDO (php data objects)

Untuk dapat menggunakan dan mengakses database MySQL, PHP menyediakan 3 cara koneksi: menggunakan PDO (PHP Data Objects), mysqli extension dan mysql extension. Dalam tutorial belajar PHP kali ini kita akan membahas tentang PDO (PHP Data Objects) dan beberapa keunggulannya

PHP merupakan bahasa pemograman yang selalu di update dan berkembang mengikuti teknologi terbaru. Saat ini, Pemrograman Berorientasi Objek (Object Oriented Programming) merupakan trend pemrograman PHP, dan hal ini juga mempengaruhi cara mengakses database MySQL dari PHP,dan salah satu cara pengaksesan php ke database mysql yang saat ini sering digunakan yang berbau OOP adalah PDO(PHP Data Objects)

 

 

Apa itu PDO ?


PDO (PHP Data Objects), adalah extension atau penambahan fitur dalam PHP yang dirancang sebagai interface universal untuk pengaksesan berbagai jenis database (tidak hanya MySQL).
baik, langsung saja kita coba, buat folder utama di htdoc , untuk kali ini saya namai folder utama dengan nama PDO lalu buat file php di dalam folder PDO dengan nama koneksi.php
kode dasar koneksi database menggunakan pdo seperti berikut :

 

$conn = new PDO("mysql:host=localhost;dbname=database_name", "username", "password");

kita juga bisa menyimpan severname ,username dan password kedalam variabel terlebih dahulu , perhatikan contoh berikut:

<?php
$servername = "localhost";
$username = "root";
$password = ""; //isikan password jika user anda memiliki password

$conn = new PDO("mysql:host=$servername;dbname=tutorial", $username, $password);
//database yang saya gunakan adalah database tutorial , sesuaikan dengan database yang anda gunakan
?>

Kemudian menampilkan pemberitahuan ketika koneksi berhasil dijalankan.

echo "Koneksi Berhasil";

Simpan script di atas lalu jalankan, jika koneksi berhasil maka akan muncul kalimat Koneksi Berhasil

Sekarang bagaimana jika koneksi gagal , misalnya karna kesalahan host , password dll, maka akan muncul tampilan seperti berikut

waduh kok banyak ya pesannya hehe.., nah untuk menyederhanakan pesan eror seperti di atas langsung saja masukkan dalam block try catch

try{
    $conn = new PDO("mysql:host=$servername;dbname=tutorial", $username, $password);
     echo "Koneksi Berhasil";
   }catch(PDOException $error) {
	 echo "Koneksi Gagal".$error->getMessage();
}

-> block try adalah sintak yang akan dieksekusi apabila tidak ada kesalahan didalamnya
-> block catch untuk penangan error ketika didalam block try terdapat kesalahan
-> PDOException -> merupakan error handling PDO
-> $error -> variabel penampung biasa , nama bisa dirubah
-> echo "Koneksi Gagal " -> merupakan pesan pemberitahuan ketika terjadi gagal koneksi.
-> $error->getMessage(); -> merupakan notifikasi kesalahan apa yg menyebabkan koneksi gagal dilakukan, karna kita memakai memakai nama $error maka kodenya $error->getMessage()

Kemudian kita tes dengan username yang salah, maka pesan eror akan lebih simple lagi seperti berikut :

Bila pesan eror sudah seperti gambar di atas maka kita akan mudah dan terbantu mengetahui letak kesalahannya, setelah itu benarkan kembali nama usernamenya

Berikut kode lengkap yang sudah kita buat melalui langkah langkah di atas

<?php
$servername = "localhost";
$username = "root";
$password = "";
try{
    $conn = new PDO("mysql:host=$servername;dbname=tutorial", $username, $password);
    echo "Koneksi Berhasil";
 }catch(PDOException $error) {
	echo "Koneksi Gagal".$error->getMessage();
}
?>

 

Kelebihan dari penggunaan PDO(PHP Data Objects)

-> PDO mendukung beberapa jenis database, diantaranya Mysql, Oracle, Ms SQL Server, Posrgre SQL dan lainnya

-> PDO aman dari serangan Injeksi (SQL Injection) , dengan menggunakan PDO BindParam statement parameter ataupun inputan dari user secara otomatis difilter

   Jadi kita tidak perlu membuat filter anti injeksi sendiri. Dan masih banyak kelebihan lainnya.

Mudah - mudahan tutorial singkat ini dapat bermanfaat bagi pembaca sekalian. Support kami dengan cara Click LIKE atau SHARE,
jika anda merasa tutorial ini bermanfaat bagi pembaca sekalian.

 

Salam Kreatif

         
     
         
 
         
   
         
   
 

Tulis komentar