Koneksi PHP: Tutorial Koneksi Database dengan MySQL dan PDO - Kok Jadi Kepo - Sekilas Informasi Teknologi dan Bisnis

Koneksi PHP: Tutorial Koneksi Database dengan MySQL dan PDO



Koneksi PHP adalah sebuah file yang menjadi penghubung antara program web berbasis PHP dengan MySQL. Cara koneksi database MySQL ke PHP harus kamu lakukan dengan prosedur yang benar, karena hal ini menyangkut keamanan sistem. 

Kita akan membahas cara koneksi MySQL dengan PHP lengkap dengan contohnya di sini.

Pengertian Koneksi PHP

Koneksi adalah jenis file yang menjadi penghubung antara program web dengan database MySQL. Kamu perlu membuat file ini, jika website atau program kamu memerlukan interaksi dengan database.

Dalam membuat file koneksi, kamu perlu memperhatikan banyak faktor. Mulai dari struktur kode, penamaan file, lokasi direktori, hingga faktor keamanan. Oleh karena itu, kamu harus mengikuti tutorial ini sampai akhir, agar kamu bisa membuat koneksi yang berfungsi, stabil, sekaligus aman.

Cara Koneksi MySQL dengan PHP

Untuk melakukan koneksi PHP, terdapat tiga metode yang bisa kamu gunakan, yaitu:

  • MySQL

  • MySQLi

  • PDO

Dari ketiga metode di atas, metode yang pertama sudah tidak termasuk dalam pilihan bagi programmer profesional. Alasannya karena koneksi dengan MySQL langsung, bisa membuka celah keamanan yang cukup rawan, misalnya SQL injection. Dengan demikian, tersisa dua metode lagi, yaitu MySQLi dan PDO.

Kedua metode tersebut akan kita bahas dan uji coba langsung di artikel ini. Namun, sebelum mulai membuat koneksi, pastikan bahwa kamu sudah mempunyai database untuk uji coba.

1. MySQLi

MySQLi adalah sebuah API yang berperan sebagai konektor antara backend dengan database MySQL. Cara kerjanya sama seperti konektor MySQL, namun dengan performa, kecepatan, fungsi, dan ekstensi yang jauh lebih baik.

MySQLi pertama kali muncul pada PHP versi 5.0.0 dan drivernya mulai diinstall pada versi PHP 5.3.0. MySQL yang mendukung API ini adalah versi 4.1.13 ke atas.

Contoh koneksi PHP dengan MySQLi, yaitu:

<?php

function OpenCon()

 {

 $dbhost = "localhost";

 $dbuser = "jea";

 $dbpass = "amaranggana";

 $db = "atlanta";

 $conn = new mysqli($dbhost, $dbuser, $dbpass,$db) or die("Connect failed: %s\n". $conn -> error);

 

 return $conn;

 }

 

function CloseCon($conn)

 {

 $conn -> close();

 }

   

?>

Pada contoh di atas, kita membuka fungsi koneksi dengan function OpenCon(). Selanjutnya, kita mulai menulis detail koneksi, meliputi:

  • Host: Alamat IP server MySQL.

  • User: Username kamu di MySQL.

  • Password: Kata sandi user di MySQL.

  • Database: Nama database yang ingin kamu gunakan.

Keempat informasi tersebut terlebih dahulu kita tulis ke dalam masing-masing satu variabel. Pada contoh di atas, kita menggunakan $dbhost, $dbuser, $dbpass, dan $db. Kamu bisa mengganti nama variabel beserta isinya sesuai dengan yang kamu inginkan.

Setelah itu, kita membuat koneksi PHP dengan variabel $conn. Di dalamnya, kita memasukkan parameter berupa empat variabel yang sudah kita buat sebelumnya.

Untuk mengatasi gagal koneksi, kita menambahkan baris or die("Connect failed: %s\n". $conn -> error);. Kode tersebut menginstruksikan sistem untuk menampilkan teks yang menunjukkan jenis error, apabila gagal terhubung ke MySQL.

Simpan file di atas dengan nama koneksi.php ke folder c:/xampp/htdocs/. Kamu juga bisa membuat folder baru di dalamnya, agar tidak bercampur dengan file htdocs yang lain. Jika kamu membuat folder baru, maka semua file yang akan kita buat di tutorial ini harus kamu simpan di dalam folder baru tersebut.

Menguji Koneksi PHP dengan MySQLi

Setelah kamu mempunyai file koneksi, maka sekarang waktunya untuk menguji koneksi ke database. Cara koneksi MySQL dengan PHP membutuhkan setidaknya dua file, yaitu file koneksi dan file utama. Sekarang, kita akan mencoba membuat file utama berupa program sederhana yang ditulis menggunakan PHP.

Contoh kodenya, yaitu:

<?php

include ‘koneksi.php';

$conn = OpenCon();

echo "Koneksi berhasil";

CloseCon($conn);

?>

Di bagian atas kode, kita menambahkan file yang sudah kita buat sebelumnya menggunakan include. Setelah itu, kita memanggil fungsi OpenCon() dari file koneksi, lalu memuatnya ke variabel $conn. Jika koneksi berhasil, maka sistem akan menampilkan teks bertuliskan “Koneksi berhasil”.

Namun, jika program tidak berhasil terhubung ke MySQL, maka teks yang tampil adalah pesan error seperti yang sudah kita rencanakan. Metode ini sangat berguna dalam pemrograman aplikasi yang menggunakan database, agar setiap kendala dapat terlacak dan lebih cepat teratasi.

2. PDO

PHP Data Objects (PDO) adalah sebuah ekstensi Database Abstraction Layer. Ekstensi ini merupakan cara koneksi database MySQL ke PHP. dengan menggunakan mekanisme interface. Dengan menggunakan PDO, kamu bisa membuat beberapa koneksi PHP sekaligus dalam satu program yang sama.

PDO juga memungkinkan programmer untuk melakukan perubahan pada database tanpa harus mengubah kode program sedikit pun. Dengan demikian, program kamu bisa tetap sederhana, fleksibel, dan portable.

<?php

$servername = "localhost";

$username = "jea";

$password = "amaranggana";

$db = "atlanta";

try {

   $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password, $db);

   // mengatur mode error PDO ke exception

   $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

   echo "Koneksi berhasil";

   }

catch(PDOException $e)

   {

   echo "Koneksi gagal: " . $e->getMessage();

   }

?>

Sekilas, kode di atas tidak jauh berbeda dengan cara koneksi database MySQL ke PHP menggunakan MySQLi. Hanya saja, terdapat penambahan beberapa baris dengan awalan PDO. Bagian inilah yang merupakan data object dalam PHP.

PDO yang pertama kita buat untuk memulai koneksi ke database. Di dalam PDO tersebut, kita memasukkan data dari variabel $servername, $username, $password, dan $db. Syntax PDO pun sedikit berbeda dari MySQLi pada bagian koneksi, walaupun garis besarnya tetaplah sama.

PDO yang kedua dan ketiga berfungsi sebagai exception, yaitu blok kode yang akan berjalan, jika koneksi ke database gagal. Kode PDO memang sedikit lebih rumit, jika dibandingkan dengan MySQLi. Simpan kode di atas dengan nama koneksiPDO.php, agar mudah dibedakan dari file MySQLi.

Menguji Koneksi PHP dengan PDO

Sama seperti pada kasus MySQLi, kita juga akan melakukan uji coba koneksi ke database MySQL menggunakan PDO. Contoh kodenya, yaitu:

<?php

include 'koneksiPDO.php';

 

echo "Koneksi sukses";

$conn = null;

?>

Copy dan Paste kode di atas ke text editor, lalu simpan dengan nama index.php. Kamu bisa rename file index sebelumnya untuk menghindari overwrite. Pastikan bahwa kamu menulis nama file koneksiPDO.php dengan benar, agar fungsi-fungsi di dalamnya bisa kita jalankan dari index.php.

Perbedaan yang agak mencolok terletak pada saat menutup koneksi di bagian bawah. Jika MySQLi menutup koneksi dengan mysqli_close($conn), maka PDO menutupnya dengan $conn = null. Jalankan kode di atas seperti biasa, lalu lihatlah bagaimana hasilnya.

Koneksi PHP Manakah yang Akan Kamu Pilih?

Sampai di sini, kamu sudah memahami cara koneksi MySQL dengan PHP menggunakan MySQLi dan PDO. Kamu juga sudah mempraktikkan kedua cara koneksi database MySQL ke PHP dengan kode yang sudah kami siapkan. Jadi, jenis koneksi PHP manakah yang akan kamu gunakan di programmu?

Posting Komentar untuk "Koneksi PHP: Tutorial Koneksi Database dengan MySQL dan PDO"