Cara menggunakan koneksi postgresql dengan php

Kebanyakan dari kita penggunaan database MySQL pada PHP kita lakukan dengan cara menggunakan mysql extension. Extension inilah yang memberikan kita fasilitas pengaksesan / penganganan database. Pengaksesan database dengan menggunakan MySQL pada PHP dapat dilakukan dengan tiga cara :

  1. MySQL extension
  2. MySQLi
  3. PDO MySQL

MySQL extension yang biasa kita gunakan seperti : mysql_connect(), mysql_query(), mysql_num_rows() dsb.Berikut ini adalah contoh mysql_extension


Contoh 1:

<?php
// mengakses database
$koneksi = mysql_connect("localhost","root","secret");
mysql_select_db("kampus");
$mhs_kel_jkt = mysql_query("SELECT * from mahasiswa where Kota_Kelahiran='Jakarta'"): 
$row = mysql_fetch($mhs_kel_jkt);
?>


Teknik penggunaan mysql_extension pada pemrograman PHP mulai ditinggalkan, sebagai generasi penerusnya telah mulai diperkenalkan MySQLi dan PDO pada PHP ver.5.0. Pada topik ini kita tidak membahas MySQLi. Berikut ini contoh penggunaan PDO seperti yang ditunjukkan oleh contoh 2:


Contoh 2:

<?php
//mengakses database
$dbh = new PDO('mysql:host=localhost;dbname=kampus','root','secret');
$statement= $pdo->query("SELECT * from mahasiswa where Kota_Kelahiran='Jakarta'");
$raw = $statement->fetch(PDO::FETCH_ASSOC);
?>


Apa itu PDO ?

PDO merupakan singkatan dari PHP Data Objects yang bertujuan memberikan metode seragam dalam penanganan  ke beberapa database yang didukung oleh Driver PDO seperti : MySQL, PostgreSQL, Informix, MSSQL, Oracle, SQLite, Firebird/Interbase dsb. Maksud dari kata seragam mengacu kepada pembuatan script PDO yang sama untuk segala jenis database yang disupport, hanya skrip koneksi stringnya saja yang berbeda.


Berikut ini contoh yang mengatakan bahwa PDO itu seragam. Database yang kita gunakan adalah PostgreSQL dan MySQL :


Contoh koneksi database PostgreSQL:

<?php
try{
   $db = new PDO("pgsql:dbname=pdo;host=localhost","root","secret");
   echo "Koneksi Database PDO berhasil"
}
catch(PDOException $e){
   echo $e->getMessage();
}

?>


Contoh koneksi database MySQL:

<?php
try{
   $db = new PDO("mysqlql:dbname=pdo;host=localhost","root","secret");
   echo "Koneksi Database PDO berhasil"
}
catch(PDOException $e){
   echo $e->getMessage();
}

?>


Dari contoh koneksi database Postgresql dan MySQL, tidak ada perbedaan kentara dalam penggunaan PDO. Untuk lebih memperjelas keseragaman PDO, kita akan mencoba membandingkan pengaksesan database mahasiswa untuk menampilkan nim, nama dan alamat yang akan kita implementasikan pada : MySQL dan Postgresql.

Tahap Pertama, kita akan gunakan cara biasa, yaitu MySQL extension dan PostgreSQL extension. Untuk database Postgresql, silahkan anda install terlebih dahulu databasenya, kemudian buka php.ini, hilangkan tanda ";" untuk  extension=php_pgsql.dll untuk mengaktifkan penggunaan sintax database posgresql. Database yang kita gunakan adalah mahasiswa yang terdiri dari 3 field, yaitu : nim, nama dan alamat seperti yang ditunjukkan oleh tabel berikut:


nim

nama

alamat

MH101

Andi Fabrioga

Kudus

MH102

Dadang Subagia

Solo


Berikut ini contoh pengaksesan dengan model mysql exntension yang ditunjukkan Contoh 1 dan PosgreSQL extension yang ditunjukkan Contoh 2

Contoh 1 :

Cara menggunakan koneksi postgresql dengan php
 
Cara menggunakan koneksi postgresql dengan php
  (Akses Database dengan MySQL extension)

  1. <?php

  2. /**

  3.  * Contoh Penggunaan MySQL Extension

  4.  * @author Pusat Ilmu Secara Detil

  5.  * @version 1.0

  6.  */

  7. mysql_connect("localhost", "root", "");

  8. mysql_select_db("mahasiswa");

  9. /*** Query Select ***/

  10. $query = mysql_query("select * from mhs");

  11. while($mhs = mysql_fetch_array($query))

  12. {

  13.         print $mhs['nim'] .' - '. $mhs['nama'] .' - '.$mhs['alamat']'<br />';

  14. }

  15. ?>


Output Contoh 1 :

MH101 - Andi Fabrioga - Kudus
MH102 - Dadang Subagia - Solo


Contoh 2 :

Cara menggunakan koneksi postgresql dengan php
 
Cara menggunakan koneksi postgresql dengan php
   (AKSES DATABASE DENGAN POSTGRESQL EXTENSION)

  1. <?php

  2. /**

  3.  * Contoh Penggunaan PostgreSQL Extension

  4.  * @author Pusat Ilmu Secara Detil

  5.  * @version 1.0

  6.  */

  7. pg_connect("host=localhost port=5432 dbname=mahasiswa user=posgres password=root" );

  8. /*** Query Select ***/

  9. $query = pgs_query("select * from mhs");

  10. while($mhs = pg_fetch_array($query))

  11. {

  12.         print $mhs['nim'] .' - '. $mhs['nama'] .' - '.$mhs['alamat']'<br />';

  13. }

  14.    

  15. ?>


Output Contoh 2 :
MH101 - Andi Fabrioga - Kudus
MH102 - Dadang Subagia - Solo
Pengaksesan diatas untuk posgresql, kita harus mencantumkan port yaitu : 5432. Dan sintak yang digunakan antara MySQL dan PosgreSQL berbeda, seperti : mysql_connect() dan pg_connect(), mysql_query()  dan pg_query(),  mysql_fetch_array() dan pg_fetch_array().

Berikut ini kita akan gunakan konsep PDO untuk kedua jenis contoh diatas yang akan ditunjukkan oleh Contoh 3 sebagai implementasi konsep PDO untuk contoh 1 dan Contoh 4 sebaga implementasi konsep PDO untuk contoh 2.

Contoh 3:

Cara menggunakan koneksi postgresql dengan php
 
Cara menggunakan koneksi postgresql dengan php
   (AKSES DATABASE DENGAN Pdo mysql)

  1. <?php

  2. /**

  3.  * Contoh Penggunaan PDO MySQL

  4.  * @author Pusat Ilmu Secara Detil

  5.  * @version 1.0

  6.  */

  7. try {

  8.     // setup koneksi

  9.    $dbh = new PDO("mysql:host=localhost;dbname=mahasiswa", "root", "",array(

  10.               PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION));  

  11. }

  12. catch(PDOException $e)

  13. {

  14.     echo $e->getMessage();

  15.         echo 'Gagal Koneksi.Pastikan string koneksi sesuai<br/>';

  16. }

  17. /*** Query Select ***/

  18. $sql = $dbh->prepare("SELECT * FROM mhs");

  19. $sql->execute();

  20. while($mhs = $sql->fetch())

  21. {

  22.         print $mhs['nim'] .' - '. $mhs['nama'] .' - '.$mhs['alamat']'<br />';

  23. }

  24.        

  25. ?>

Output Contoh 3 :
MH101 - Andi Fabrioga - Kudus
MH102 - Dadang Subagia - Solo

Contoh 4:

Cara menggunakan koneksi postgresql dengan php
 
Cara menggunakan koneksi postgresql dengan php
 

  1. <?php

  2. /**

  3.  * Contoh Penggunaan PDO PGSQL

  4.  * @author Pusat Ilmu Secara Detil

  5.  * @version 1.0

  6.  */

  7. try {

  8.     // setup koneksi

  9.    $dbh = new PDO("pgsql:host=localhost;dbname=mahasiswa", "root", "root",5432,array(

  10.               PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION));  

  11. }

  12. catch(PDOException $e)

  13. {

  14.     echo $e->getMessage();

  15.         echo 'Gagal Koneksi.Pastikan string koneksi sesuai<br/>';

  16. }

  17. /*** Query Select ***/

  18. $sql = $dbh->prepare("SELECT * FROM mhs");

  19. $sql->execute();

  20. while($mhs = $sql->fetch())

  21. {

  22.         print $mhs['nim'] .' - '. $mhs['nama'] .' - '.$mhs['alamat']. '<br />';

  23. }

  24. ?>

Output Contoh 4 :
MH101 - Andi Fabrioga - Kudus
MH102 - Dadang Subagia - Solo

Dari Contoh 3 dan Contoh 4, hampir tidak ada perbedaan dalam penggunaan database MySQL dan PostgreSQL. Kita cukup hanya merubah string koneksinya saja. Inilah yang disebut PDO memberikan layanan script PDO yang seragam kepada semua database yang disupportnya.

Pada artikel berikutnya kita akan membahas PDO sebagai abstraksi layer yang menjadi ide dasar kemunculan PDO.

Bagaimana cara menghubungkan database MySQL dengan php?

Menggunakan MySQLi untuk Membuat Koneksi PHP ke MySQL Buka File Manager -> public_html. Buat File Baru dengan mengklik ikon tambah file pada menu di atas layar. Simpan dengan nama databaseconnect.php, atau nama lain yang Anda inginkan, tapi ekstensinya tetap . php.

PostgreSQL menggunakan bahasa apa?

Secara umum sistem database ini menggunakan Structured Query Language (SQL) sebagai bahasa pemrograman. PostgreSQL adalah salah satu jenis relational database yang saat ini menjadi salah satu alternatif database yang paling banyak digunakan.

Kenapa harus PostgreSQL?

Sistem manajemen database ini memiliki performa stabil, keamanan tinggi, serta fitur melimpah. PostgreSQL adalah database yang banyak digunakan pada web app, aplikasi mobile, dan aplikasi analytics. Itulah kenapa aplikasi yang membutuhkan pengolahan data yang lebih kompleks akan lebih cocok menggunakan postgreSQL.

Apakah PostgreSQL termasuk DBMS?

PostgreSQL adalah relational database management system atau RDBMS yang bersifat open source. Sistem manajemen basis data satu ini menggunakan bahasa query utama SQL, sama seperti MySQL.