Ko php : migrasi dari ekstensi mysql ke pdo ~ Rino Sumarno

Minggu, 08 Maret 2015

php : migrasi dari ekstensi mysql ke pdo

php : migrasi dari ekstensi mysql ke pdo

Kalau sudah membaca berarti sekarang saatnya belajar menggunakan PDO untuk berinteraksi dengan database apapun, bukan hanya MySql. Bagaimana? jauh lebih keren kan?
PHP PDO

Koneksi ke Database

PDO ini mendukung beberapa database populer, tidak hanya mysql seperti yang didukung oleh fungsi mysql_***. Beberapa database yang disupport oleh PDO diantaranya :
  • MySql
  • Firebird
  • IBM DB2
  • PostgreSql
  • Sql Lite
Untuk melakukan koneksi terhadap database MySql, kita menggunakan cara sebagai berikut
<?php

/*** mysql hostname ***/
$hostname = 'localhost';

/*** mysql username ***/
$username = 'username';

/*** mysql password ***/
$password = 'password';

/*** mysql database ***/
$database= 'namaDatabase';
try {
    $dbh = new PDO("mysql:host=$hostname;dbname=$database", $username, $password);
    /*** mencetak pesan kalau database sudah berhasil terhubung ***/
    echo 'Terkoneksi dengan database';
    }
catch(PDOException $e)
    {
    echo $e->getMessage();
    }
?>
Dilihat dari syntax diatas terlihat bahwa PDO menggunakan konsep OOP. Nah.. karena PHP kedepannya memang mengarah ke jalur OOP maka sudah seharusnya untuk mulai belajar paradigma pemrograman berorientasi objek :D.
Setiap kali kita sudah membuka koneksi ke sebuah database maka kita wajib untuk menutupnya ketika sudah tidak digunakan lagi. Untuk menutupnya kita cukup memberi nilai null terhadap objek koneksi
<?php

/*** mysql hostname ***/
$hostname = 'localhost';

/*** mysql username ***/
$username = 'username';

/*** mysql password ***/
$password = 'password';

/*** mysql database ***/
$database= 'namaDatabase';
try {
    $koneksi = new PDO("mysql:host=$hostname;dbname=$database", $username, $password);
    /*** mencetak pesan kalau database sudah berhasil terhubung ***/
    echo 'Terkoneksi dengan database';
    
   /*** Menutup koneksi ***/
    $koneksi=null;
    }
catch(PDOException $e)
    {
    echo $e->getMessage();
    }
?>

Insert Query

Untuk memasukkan data kedatabase tentunya kita menggunakan query insert. Bagaimana penggunaannya pada PDO?, simak contoh berikut. Saya menggunakan Prepared Statement karena teknik ini aman dari gangguan sql injection selain itu objek prepared statment dicompile terlebih dahulu sehingga untuk pemanggilan selanjutnya akan cepat.
<?php

/*** mysql hostname ***/
$hostname = 'localhost';

/*** mysql username ***/
$username = 'username';

/*** mysql password ***/
$password = 'password';

/*** mysql database ***/
$database= 'namaDatabase';
try {
    $koneksi = new PDO("mysql:host=$hostname;dbname=$database", $username, $password);
    /*** mencetak pesan kalau database sudah berhasil terhubung ***/
    echo 'Terkoneksi dengan database';
    
    /*** Nilai dalam variabel ***/
    $nim="L2F008002";
    $nama="Agung Setiawan";
    $jenisKelamin="Laki-Laki";

   /*** perintah eksekusi query ***/
    $preparedStatement=$koneksi->prepare("INSERT INTO mahasiswa(nim,nama,jenis_kelamin) value(:nim,:nama,:jenisKelamin) ");
    $preparedStatement->bindParam(":nim",$nim);
    $preparedStatement->bindParam(":nama",$nama);
    $preparedStatement->bindParam(":jeniskelamin",$jenisKelamin);
    $preparedStatement->execute();
    
    /*** menutup koneksi ***/
    $koneksi=null;
    }
catch(PDOException $e)
    {
    echo $e->getMessage();
    }
?>
Tidak sesulit yang dibilang orang-orang kan tentang bagaimana itu OOP :-)

Update Query

Kalau sudah ada data yang masuk pada database besar kemungkinan suatu saat kita ingin mengubah data tersebut. Disnilah peran query upadate dimainkan.
Tekniknya hampir sama dengan teknik insert data diatas.
<?php

/*** mysql hostname ***/
$hostname = 'localhost';

/*** mysql username ***/
$username = 'username';

/*** mysql password ***/
$password = 'password';

/*** mysql database ***/
$database= 'namaDatabase';
try {
    $koneksi = new PDO("mysql:host=$hostname;dbname=$database", $username, $password);
    /*** mencetak pesan kalau database sudah berhasil terhubung ***/
    echo 'Terkoneksi dengan database';
    
    /*** Nilai dalam variabel ***/
    $nim="L2F008002";
    $nama="Agung Setiawan ST";

   /*** perintah eksekusi query ***/
    $preparedStatement=$koneksi->prepare("UPDATE mahasiswa set nama=:nama where nim=:nim ");
    $preparedStatement->bindParam(":nim",$nim);
    $preparedStatement->bindParam(":nama",$nama);
    $preparedStatement->execute();
    
    /*** menutup koneksi ***/
    $koneksi=null;
    }
catch(PDOException $e)
    {
    echo $e->getMessage();
    }
?>

Select Query

Untuk melakukan pengambilan data pada database pun tidak kalah gampangnya dari teknik-teknik yang telah saya perkenalkan diatas. Silahkan disimak pada code dibawah ini
<?php

/*** mysql hostname ***/
$hostname = 'localhost';

/*** mysql username ***/
$username = 'username';

/*** mysql password ***/
$password = 'password';

/*** mysql database ***/
$database= 'namaDatabase';
try {
    $koneksi = new PDO("mysql:host=$hostname;dbname=$database", $username, $password);
    /*** mencetak pesan kalau database sudah berhasil terhubung ***/
    echo 'Terkoneksi dengan database';
    
    /*** Nilai dalam variabel ***/
    $nim="L2F008002";

    /*** Perintah Eksekusi Query ***/
    $preparedStatement=$koneksi->prepare("SELECT nim,nama,jenis_kelamin from mahasiswa where nim=:nim");
    $preparedStatement->bindParam(":nim",$nim);
    $preparedStatement->execute();
    
    /*** Menampikan Hasil Perintah Select ***/
    $results=$preparedStatement->fetchAll();
    foreach($results as $result){
      echo $result["nim"];
      echo $result["nama"];
      echo $result["jenis_kelamin"];
    }
    
    /*** menutup koneksi ***/
    $koneksi=null;
    }
catch(PDOException $e)
    {
    echo $e->getMessage();
    }
?>

Delete Query

yang terakhir adalah cara untuk menghapus data
Teknik ini masih gampang juga seperti sebelumnya jadi tenang saja
<?php

/*** mysql hostname ***/
$hostname = 'localhost';

/*** mysql username ***/
$username = 'username';

/*** mysql password ***/
$password = 'password';

/*** mysql database ***/
$database= 'namaDatabase';
try {
    $koneksi = new PDO("mysql:host=$hostname;dbname=$database", $username, $password);
    /*** mencetak pesan kalau database sudah berhasil terhubung ***/
    echo 'Terkoneksi dengan database';
    
    /*** Nilai dalam variabel ***/
    $nim="L2F008002";

    /*** Perintah Eksekusi Query ***/
    $preparedStatement=$koneksi->prepare("DELETE FROM mahasiswa where nim=:nim");
    $preparedStatement->bindParam(":nim",$nim);
    $preparedStatement->execute();
    
    
    /*** menutup koneksi ***/
    $koneksi=null;
    }
catch(PDOException $e)
    {
    echo $e->getMessage();
    }
?>
 
sumber : http://www.tutorial-webdesign.com 

0 komentar:

Posting Komentar

 
Awesome Orange Sharp Pointer