« Perjalanan Pulang dari Tangerang | Home | Saving Images into MySQL Database »
Functions PDO PHP 5.1
By Abu Aisyah | March 29, 2008
Object Oriented Programming di PHP bukanlah sebuah hal yang baru. Bahkan OOP sejak di PHP 4 sudah ada, dan di PHP 5, sekarang ini sudah dilakukan pengembangan. Beberapa waktu lalu saya sempat kebingungan membuat kode OOP untuk transaksi database dengan menggunakan database MySQL.
Well, walaupun sudah menemukannya dengan script EzSQL, tapi ternyata di PHP 5.1 ke atas sudah tersedia sendiri di functionsnya. Berikut sedikit catatan mengenai PDO. PDO (PHP Data Objects) merupakan sebuah extensions yang sangat ringan untuk koneksi sebuah database, yang secara konsisten mengakses database via PHP. Masing-masing database driver yang mengimplementasikan interface PDO dapat mengakses database secara spesifik seperti layaknya functions extensi pada umumnya.
Kalau anda pernah menggunakan ODBC untuk sebuah koneksi ke database, misalnya anda memakai sebuah koneksi untuk database besar seperti Oracle, barangkali anda perlu mencoba PDO ini. Karena untuk versi 5.1 ke atas sudah tersedia di dalam paket PHP.
Cara Menginstall:
For Unix / Linux / *nix
1. Di PHP 5.1xxx sudah include di dalamnya paket PDO ini. Jadi anda sudah bisa langsung menggunakannya.
2. Di PHP 5.0.0xxx, paket PDO tersedia sebagai extensi dari PECL yang dapat diperoleh di http://pecl.php.net/package/pdo. Penginstallannya dapat dilakukan dengan tool-tool PECL. Bisa juga dilakukan download dan install dengan menggunakan command:
pecl install pdo
Kemudian pecl akan secara otomatis menginclude-kan PDO ke dalam extension PHP, yang bisa diedit di php.ini:
extension=pdo.so
Untuk Windows
1. PDO dan seluruh driver-driver yang ada dalam PHP bisa dilihat di php.ini. Lihat baris:
extension=php_pdo.dll
atau yang lebih spesifik
extension=php_pdo.dll
extension=php_pdo_firebird.dll
extension=php_pdo_informix.dll
extension=php_pdo_mssql.dll
extension=php_pdo_mysql.dll
extension=php_pdo_oci.dll
extension=php_pdo_oci8.dll
extension=php_pdo_odbc.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
Seluruh file dll itu bisa dilihat di system extensions dir pada Windows. Biasanya di tempat install PHP-nya atau di win/System32. PDO Drivers
| Nama Driver | Database support |
|---|---|
| PDO_DBLIB | Free TDS / Microsoft SQL Server / Sybase |
| PDO_FIREBIRD | Firebird/Interbase 6 |
| PDO_IBM | IBM DB2 |
| PDO_INFORMIX | IBM Informix Dynamic Server |
| PDO_MYSQL | MySQL 3.x/4.x/5.x |
| PDO_OCI | Oracle Call Interface |
| PDO_ODBC | ODBC v3 (IBM DB2, unixODBC and win32 ODBC) |
| PDO_PGSQL | PostgreSQL |
| PDO_SQLITE | SQLite 3 and SQLite 2 |
Cara Koneksi
<?php
//buka koneksi
$dbh = new PDO(’mysql:host=localhost;dbname=test’, $user, $pass);
//tutup koneksi
$dbh = null;
//koneksi dengan oracle
$dbh = new PDO(’oci:’,’scott’,'tiger’);
//tutup koneksi
$dbh = null;
?>
Exception
<?php
try {
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
foreach ($dbh->query('SELECT * from FOO') as $row){
print_r($row);
}
$dbh = null;
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . ""; die();
}
?>
Transaksi INSERT / UPDATE
<?php
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)");
$stmt->bindParam(':name', $name);
$stmt->bindParam(':value', $value);
// insert one row
$name = 'one';
$value = 1;
$stmt->execute();
// insert another row with different values
$name = 'two';
$value = 2;
$stmt->execute();
?<
Transaksi Select
<?php
$stmt = $dbh->prepare("SELECT * FROM employee where name = ?");
if ($stmt->execute(array($_GET['name'])))
{
while ($row = $stmt->fetch()) {
print_r($row);
}
}
?>
Catatan: cara di atas adalah salah satu cara yang paling bagus untuk menolak SQL Injection, karena user inputnya secara otomatis sudah diquote.
Memanggil Procedure
<?php
$stmt = $dbh->prepare("CALL sp_takes_string_returns_string(?)");
$value = 'hello';
$stmt->bindParam(1, $value, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 4000);
// call the stored procedure
$stmt->execute();
print "procedure returned $value\n";
?>
Untuk cara-cara yang lainnya, anda bisa mengakses php.net cari functions PDO untuk lebih jelasnya. Sekian dulu dari saya dan selamat mencoba. ![]()
Topics: Catatanku, Linux, PHP, mysql |


March 31st, 2008 at 9:44 pm
[...] Abu Aisyah Official Web Site Menapaki Jalan Salafush Sholeh ← Functions PDO PHP 5.1 [...]