Pengenalan PDO (PHP Data Object)

♠ Posted by Unknown at 07.09

Pengenalan PDO (PHP Data Object)



PDO (PHP Data Objects) adalah php extension untuk mengakses database, sama seperti mysql_query atau mysql_fetch_array. Saat ini fungsi seperti mysql_query dan mysql_fetch_array sudah di-deprecated dan akan segera dihapus. Oleh karena itu kita perlu segera beralih menggunakan PDO atau MySQLi untuk menyimpan, edit atau hapus data. PDO bisa dipakai untuk mengakses beberapa database berbeda, sedangkan MySQLi hanya untuk database mysql. Jika saat ini kita menggunakan database MySQL dan di kemudian hari berganti menggunakan database PostgreSQL maka kita tidak perlu lagi mengubah kode yang sudah dibuat. Jadi bisa dibilang kalau PDO adalah bahasa pemrograman untuk masa depan. Karena untuk saat ini masih belum banyak atau jarang yang sudah menggunakan PDO atau MySQLi.

Database yang mendukung PDO
  • 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 (DB2 IBM dan unixodbc)
  • Pgsql (http://www.postgresql.org/): PostgreSQL
  • SQLite (http://sqlite.org/): 3.x SQLite

Untuk melihat apakah driver PDO tersedia untuk database Anda, periksa phpinfo () dan Anda harus memiliki bagian bernama PDO dan pdo_mysql lain atau pdo_sqlite tergantung pada pilihan Anda database. Anda juga dapat memeriksa driver yang tersedia dengan metode statis PDO::getAvailableDrivers().


Untuk mengaktifkan PDO hanya mengkonfigurasi enable-PDO dan --with-pdo_sqlite --with_pdo_mysql atau apa pun sesuai kebutuhan database yang didukung oleh PDO. 

 Koneksi Menggunakan PDO pada PgSQL

<?phptry {
    
$db = new PDO("pgsql:dbname=pdo;host=localhost""username""password" );
    echo 
"PDO connection object created";
    }
catch(
PDOException $e)
    {
    echo 
$e->getMessage();
    }
?>


Koneksi Menggunakan PDO pada SQLite

<?phptry {
    
/*** connect to SQLite database ***/
    
$dbh = new PDO("sqlite:/path/to/database.sdb");
    }
catch(
PDOException $e)
    {
    echo 
$e->getMessage();
    }
?>


Ketika digunakan dengan SQLite PDO, pembuatan database menjadi lebih mudah. Hanya menentukan path ke file database dan akan dimuat. Jika file database tidak ada, PDO akan mencoba untuk menciptakannya. 


Karena jalur database tidak ada dan tidak dapat dibuat, eksepsi dilemparkan, pengecualian tertangkap di blok catch dan pesan kesalahan ditampilkan dengan $e-> getMessage();. Sekarang kita tahu cara membuat database, kita dapat membuat tabel dan INSERT beberapa data.

Fitur lain dari SQLite adalah kemampuan untuk membuat tabel dalam memori. Hal ini dapat sangat membantu jika Anda ingin membuat database tempory atau tabel atau bahkan untuk kode pengembangan.

<?phptry {
    
/*** connect to SQLite database ***/
    
$db = new PDO("sqlite::memory");

    
/*** a little message to say we did it ***/
    
echo 'database created in memory';
    }
catch(
PDOException $e)
    {
    echo 
$e->getMessage();
    }
?>

Kita lihat diatas bahwa database yang dibuat dalam memori dan pesan ditampilkan untuk memberitahu kita. Jika penciptaan database gagal, pengecualian PDO akan dilemparkan dan script diakhiri pada saat itu, melewati kontrol ke catch block.

Koneksi Menggunakan PDO pada MySQL

<?php
/*** mysql hostname ***/$hostname 'localhost';
/*** mysql username ***/$username 'username';
/*** mysql password ***/$password 'password';

try {
    
$dbh = new PDO("mysql:host=$hostname;dbname=mysql"$username$password);
    
/*** echo a message saying we have connected ***/
    
echo 'Connected to database';
    }
catch(
PDOException $e)
    {
    echo 
$e->getMessage();
    }
?>



Koneksi Menggunakan PDO pada Firebird

Koneksi ini biasanya dipakai oleh pengguna windows dan kodenya cukup sederhana.

<?phptry {
    
$dbh = new PDO("firebird:dbname=localhost:C:\Programs\Firebird\DATABASE.FDB""SYSDBA""masterkey");
    }  
catch (
PDOException $e)
    {
    echo 
$e->getMessage();
    }
?>
  
Koneksi Menggunakan PDO pada Informix

Koneksi ini juga banyak digunakan oleh pengguna windows. Contoh ini menunjukkan bagaimana menghubungkan ke database Informix katalog sebagai InformixDB di odbc.ini :  

<?phptry {
    
$dbh = new PDO("informix:DSN=InformixDB""username""password");
    }
catch (
PDOException $e)
    {
    echo 
$e->getMessage();
    }
?>


Koneksi Menggunakan PDO pada Oracle

Database oracle digunakan oleh banyak perusahaan. 

<?phptry {
    
$dbh = new PDO("OCI:""username""password")
    }
catch (
PDOException $e)
    {
    echo 
$e->getMessage();
    }
?>


Ini bekerja baik untuk koneksi Oracle sederhana. Driver oracle dapat mengambil dua parameter opsional, yang nama database, dan set karakter. Untuk menghubungkan dengan nama database "account" dan charset UTF-8 kode berikut harus digunakan.

<?phptry {
    
$dbh = new PDO("OCI:dbname=accounts;charset=UTF-8""username""password");
    }
catch (
PDOException $e)
    {     echo 
$e->getMessage();     } ?>

 

Koneksi Menggunakan PDO pada ODBC

Ada banyak koneksi ODBC yang bisa dibuat. Disini menunjukkan koneksi ke MS Access dengan nama database account. Jalur yang ditentukan adalah c:\\accounts.mdb

<?phptry {
    
$dbh = new PDO("odbc:Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\accounts.mdb;Uid=Admin");
    }
catch (
PDOException $e)
    {
    echo 
$e->getMessage();
    } 
?>

  
 Koneksi Menggunakan PDO pada DBLIB

<?phptry {
    
$hostname "localhost";
    
$port     10060;
    
$dbname   "my_database";
    
$username "username";
    
$password "password";

    
$dbh = new PDO ("dblib:host=$hostname:$port;dbname=$dbname","$username","$password");
    }
catch (
PDOException $e)
    {
    echo 
$e->getMessage();
    }
?>

Koneksi Menggunakan PDO pada IBM

Contoh ini menunjukkan menghubungkan ke account database bernama IBM DB2.

<?phptry {
    
$db = new PDO("ibm:DRIVER={IBM DB2 ODBC DRIVER};DATABASE=accounts; HOSTNAME=1.2.3,4;PORT=56789;PROTOCOL=TCPIP;""username""password");
    }
catch (
PDOException $e)
    {
    echo 
$e->getMessage();
    }
?>
 
Menutup Koneksi Database

Sampai saat ini kita telah melihat bagaimana menghubungkan ke database menggunakan PDO. Tapi tentu saja, kita juga perlu untuk memutuskan ketika kita telah selesai. Hal ini biasanya dilakukan pada akhir naskah mana PHP secara otomatis akan menutup koneksi.

<?php/*** mysql hostname ***/$hostname 'localhost';
/*** mysql username ***/$username 'username';
/*** mysql password ***/$password 'password';

try {
    
$dbh = new PDO("mysql:host=$hostname;dbname=mysql"$username$password);
    
/*** echo a message saying we have connected ***/
    
echo 'Connected to database';

    
/*** close the database connection ***/
    
$dbh null;
    }
catch(
PDOException $e)
    {
    echo 
$e->getMessage();
    }
?>


Jika koneksi database gagal, kode untuk menetapkan nilai null tidak pernah disebut sebagai pengecualian melempar kontrol ke catch block.



Sumber : 
 

0 komentar:

Posting Komentar