PDO (PHP Data Objects) adalah interface untuk mengakses database yang sudah disediakan oleh PHP untuk menggantikan fitur mysql_. Seperti kita tahu, dari dahulu kita diajarkan untuk menggunakan fitur mysql_ dalam setiap bentuk koneksi database maupun melakukan operasi CRUD pada PHP, namun fitur ini sudah deprecated.

Fitur mysql_ yang saya sebutkan ini contohnya seperti fitur mysql_connect, mysql_query, dsb. Konyolnya masih banyak tutorial-tutorial di internet maupun maupun mata kuliah pemrograman web yang masih menggunakan cara jadul ini, cara yang sudah tidak direkomendasikan dalam melakukan interaksi dengan database pada PHP.

Selain PDO ada juga fitur mysqli, namun mengapa saya menuliskan PDO? Karena PDO bisa digunakan pada database apapun, berbeda dengan mysqli yang hanya bisa digunakan untuk database MySQL.

Untuk membuat koneksi awal dengan PDO pada database MySQL, sintak yang digunakan adalah

$pdo = new PDO("mysql:host=$nama_host;dbname=$nama_database",$username_database,$password_database);

Untuk mengeksekusi perintah SQL menggunakan prepared statement maka sintak yang saya gunakan:

$stmt = $pdo->prepare($sql);

Yang kemudian saya eksekusi dengan perintah execute.

$stmt->execute($parameter);

Maka sintak lengkap yang saya gunakan untuk mengambil data user yang memiliki ID=1 adalah seperti ini:

<?php
	try {
		$host = 'localhost';
		$db = 'user';
		$username = 'root';
		$password = '';
		$pdo = new PDO("mysql:host=$host;dbname=$db",$username,$password);

		$sql = 'SELECT * FROM user WHERE id = ?';
		$sth = $pdo->prepare($sql);
		$sth->execute(array(1));
		$hasil = $sth->fetchAll();
		foreach ($hasil as $h) {
			echo $h['username'];
		}
	} catch (PDOException $e) {
		echo $e->message;
	}
?>
comments powered by Disqus

Ubah CapsLock Jadi ESC dan Sekaligus Ctrl

Saya adalah pengguna Vim. Bila ada perang sipil antara Vim dan Emacs, secara otomatis saya akan jadi salah satu tentara Vim, anak buah om...… Continue reading

Ketika Mount Gagal dan Masuk Mode Read-Only

Published on March 26, 2016

Cara Install Gentoo

Published on March 04, 2016