Koneksi database dengan PDO

PDO ( PHP Data Object) adalah ekstensi database yang berfungsi sebagai pustaka/library untuk koneksi ke database dengan bahasa pemrograman PHP. PDO adalah ekstensi database yang portable untuk berbagai macam database yang ada saat ini, seperti :

  • DBLIB: FreeTDS / Microsoft SQL Server / Sybase
  • Firebird (http://firebird.sourceforge.net/): Firebird/Interbase 6
  • IBM (IBM DB2)
  • INFORMIX – IBM Informix Dynamic Server
  • MYSQL (http://www.mysql.com/): MySQL 3.x/4.0
  • OCI (http://www.oracle.com): Oracle Call Interface
  • ODBC: ODBC v3 (IBM DB2 and unixODBC)
  • PGSQL (http://www.postgresql.org/): PostgreSQL
  • SQLITE (http://sqlite.org/): SQLite 3.x

Berikut kode program untuk koneksi kedatabase dan simpan dalam file bernam dbkoneksi.php .

Koneksi ke MySQL


<?php
 $user='ocha';//user di DB MySQL
 $pass='oca';//password di DB MySQL
 try
 {
 $dbh = new PDO ('mysql:host=localhost;dbname=rosadb', $user,$pass);
 $dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
 $dbh->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY,TRUE);
echo $user. ', anda sukses koneksi ke DB MySQL';
}
catch (PDOException $e)
{
 print 'Pesan Kesalahan : '. $e->getMessage() . '<br/>';
 die();
}
?>

Koneksi ke PostgreSQL


<?php
 $user='ocha';//user di DB PostgreSQL
 $pass='oca';//password di PostgreSQL
 try
 {
 $dbh = new PDO ('pgsql:host=localhost;dbname=rosadb', $user,$pass);
 $dbh->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
 echo $user. ', anda sukses koneksi ke DB PostgreSQL';
}
catch (PDOException $e)
{
 print 'Pesan Kesalahan : '. $e->getMessage() . '<br/>';
 die();
}
?>

Koneksi ke ODBC


<?php
try {
// latihan : nama database Access
$dbh = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\latihan.mdb;Uid=Admin");
echo ' anda sukses koneksi ke DB ACCESS lewat ODBC';
 }
catch (PDOException $e)
 {
 echo $e->getMessage();
 }
?>

Menampilkan data dari table


<?php

include_once 'dbkoneksi.php'; // dbkoneksi.php adalah file koneksi ke database kodenya ada diatas

$sql = "SELECT * FROM siswa"; /diasumsikan terdapat table siswa dengan field idsiswa dan nama

$rs = $dbh->query ( $sql ) ; //  $dbh adalah object PDO yang didefinisikan pada file dbkoneksi.php

foreach ( $rs as $row)

{

echo 'IDSISWA : ' . $row['idsiswa']. ' , Namanya : ' .$row['nama'].' <br/>';

}

?>

Menggunakan PrepareStatement

<?php
   include_once 'dbkoneksi.php';
   $sql= "INSERT INTO siswa (idsiswa,nama) VALUES (?,?)";
   $data = array();
   $data[]=1; // ? ke 1
   $data[]=2; // ? ke 2

   // buat object prepare statement
   $st = $dbh->prepare( $sql );
   $st->execute($data);

?>

Post a Response