Ekstensi Objek Data PHP (PDO) mendefinisikan antarmuka yang ringan dan konsisten bagi PHP untuk mengakses database.
PDO menyediakan lapisan abstraksi akses data, yang berarti database mana pun yang digunakan, fungsi (metode) yang sama dapat digunakan untuk menanyakan dan memperoleh data.
PDO dirilis dengan PHP5.1 dan juga dapat digunakan dalam ekstensi PECL PHP5.0, tetapi tidak dapat berjalan pada versi PHP sebelumnya.
Anda dapat memeriksa apakah ekstensi PDO diinstal melalui fungsi phpinfo() PHP.
Di Unix atau Linux Anda perlu menambahkan ekstensi berikut:
ekstensi=pdo.so
PDO dan semua driver utama dikirimkan bersama PHP sebagai ekstensi bersama. Untuk mengaktifkannya cukup edit file php.ini dan tambahkan ekstensi berikut:
ekstensi=php_pdo.dllSelain itu, ada berbagai ekstensi database yang sesuai dengan berikut ini:
;ekstensi=php_pdo_firebird.dll;ekstensi=php_pdo_informix.dll;ekstensi=php_pdo_mssql.dll;ekstensi=php_pdo_mysql.dll;ekstensi n=php_pdo_oci.dll;extension=php_pdo_oci8.dll;extension=php_pdo_odbc.dll;extension=php_pdo_pgsql.dll;extension=php_pdo_sqlite.dll
Setelah mengatur konfigurasi ini, kita perlu me-restart PHP atau server web.
Selanjutnya, mari kita lihat contoh spesifiknya. Berikut ini adalah contoh penggunaan PDO untuk terhubung ke database MySql:
<?php$dbms='mysql'; //Jenis database $host='localhost'; //Nama host database $dbName='test'; //Database yang digunakan $user='root'; $pass=''; //Kata sandi yang sesuai $dsn="$dbms:host=$host;dbname=$dbName"; coba { $dbh = PDO baru($dsn, $user, $pass); //Inisialisasi objek PDO echo "Koneksi berhasil<br/>"; /*Anda juga dapat melakukan operasi pencarian foreach ($dbh->query('SELECT * from FOO') sebagai $row) { print_r($row) ; //Anda dapat menggunakan echo($GLOBAL); untuk melihat nilai-nilai ini} */ $dbh = null;} catch (PDOException $e) { die ("Error!: " . $e->getMessage() . "<br/>");}//Secara default, ini bukan koneksi yang panjang. Jika Anda memerlukan koneksi yang panjang ke database, Anda perlu menambahkan parameter di akhir: array(PDO::ATTR_PERSISTENT => true) Menjadi seperti ini: $db = new PDO( $dsn, $user, $pass, array(PDO::ATTR_PERSISTENT => true));?>
Ini sangat sederhana. Selanjutnya, mari kita lihat lebih dekat instruksi spesifik PHP PDO:
Konstanta yang telah ditentukan sebelumnya
Manajemen koneksi koneksi PHP PDO
Transaksi PHP PDO dan komit otomatis
PHP PDO menyiapkan pernyataan dan prosedur tersimpan
Kesalahan PHP PDO dan penanganan kesalahan
Objek Besar PHP PDO (LOB)
kelas PDO:
PDO::beginTransaction — memulai transaksi
PDO::commit — Melakukan transaksi
PDO::__construct — Membuat instance PDO yang mewakili koneksi database
PDO::errorCode — Dapatkan SQLSTATE yang terkait dengan operasi terakhir dari pegangan database
PDO::errorInfo — Mengembalikan informasi kesalahan operasi database terakhir
PDO::exec — Jalankan pernyataan SQL dan kembalikan jumlah baris yang terpengaruh
PDO::getAttribute — Mengambil atribut koneksi database
PDO::getAvailableDrivers — Mengembalikan serangkaian driver yang tersedia
PDO::inTransaction — Periksa apakah dalam suatu transaksi
PDO::lastInsertId — Mengembalikan ID atau nilai urutan baris terakhir yang disisipkan
PDO::prepare — Mempersiapkan pernyataan SQL untuk dieksekusi dan mengembalikan objek PDOStatement
PDO::query — Jalankan pernyataan SQL dan kembalikan objek PDOStatement, yang dapat dipahami sebagai kumpulan hasil
PDO::quote — Tambahkan tanda kutip ke string dalam pernyataan SQL.
PDO::rollBack — mengembalikan transaksi
PDO::setAttribute — mengatur atribut
Kelas Pernyataan PDOS:
PDOStatement::bindColumn — Mengikat kolom ke variabel PHP
PDOStatement::bindParam — Mengikat parameter ke nama variabel yang ditentukan
PDOStatement::bindValue — Mengikat nilai ke parameter
PDOStatement::closeCursor — Menutup kursor sehingga pernyataan dapat dieksekusi kembali.
PDOStatement::columnCount — Mengembalikan jumlah kolom dalam kumpulan hasil
PDOStatement::debugDumpParams — Cetak perintah prapemrosesan SQL
PDOStatement::errorCode — Dapatkan SQLSTATE yang terkait dengan operasi penanganan pernyataan terakhir
PDOStatement::errorInfo — Dapatkan informasi kesalahan tambahan terkait dengan operasi penanganan pernyataan terakhir
PDOStatement::execute — menjalankan pernyataan yang telah disiapkan
PDOStatement::fetch — Dapatkan baris berikutnya dari kumpulan hasil
PDOStatement::fetchAll — Mengembalikan array yang berisi semua baris dalam kumpulan hasil
PDOStatement::fetchColumn — Mengembalikan satu kolom dari baris berikutnya dalam kumpulan hasil.
PDOStatement::fetchObject — Mendapatkan baris berikutnya dan mengembalikannya sebagai objek.
PDOStatement::getAttribute — Mengambil atribut pernyataan
PDOStatement::getColumnMeta — Mengembalikan metadata untuk kolom dalam kumpulan hasil
PDOStatement::nextRowset — Maju ke kumpulan baris berikutnya dalam pegangan pernyataan multi-baris
PDOStatement::rowCount — Mengembalikan jumlah baris yang dipengaruhi oleh pernyataan SQL sebelumnya
PDOStatement::setAttribute — Mengatur atribut pernyataan
PDOStatement::setFetchMode — Mengatur mode pengambilan default untuk pernyataan.