Tutorial PHP Oracle

Melanjutkan tutorial sebelumnya, kali ini kita akan membahas bagaimana membuat program sederhana untuk mengolah sebuah tabel di Database Oracle. Skenario dari aplikasi yang kita buat adalah mengolah data tabel kampus yang terdiri dari 3 kolom yaitu idkampus,nama dan alamat. Pengolahan datanya berupa operasi CRUD (tampil,tambah,edit dan hapus data).
janti
Karena saya yakin kebanyakan programer php sudah terbiasa dengan MySQL, maka saya juga akan membandingkan dengan MySQL di komentar code sehingga anda makin cepat memahaminya.

Buat tabel

CREATE TABLE  "KAMPUS" 
   (	"IDKAMPUS" NUMBER, 
	"NAMA" VARCHAR2(200), 
	"ALAMAT" VARCHAR2(200), 
	 CONSTRAINT "KAMPUS_PK" PRIMARY KEY ("IDKAMPUS") ENABLE
   )

Koneksi Database

/* cara mysql 
 * mysql_connect("localhost","user","password");
 * 
 * oracle Way
 * oci_connect("user","password","localhost/XE");
 */
$conn = oci_connect('hr', 'hr', 'localhost/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], 
ENT_QUOTES), E_USER_ERROR);
}
	

Menampilkan data

$query="SELECT * from kampus order by idkampus  ";
/* mysql way 
 * $result= mysql_query($query) or die(mysql_error());
 * while ($rows=mysql_fetch_object($result)){
 *  echo $rows->nama 
 * }
 */
 /* ini cara oracle */
$parsesql = oci_parse($conn, $query);
oci_execute($parsesql);
$no=1;
//proses menampilkan data
while($rows=oci_fetch_object($parsesql)){


Menambah dan mengedit data

if($aksi == 'tambah') {

	$sql = "INSERT INTO kampus(idkampus,nama,alamat)
		VALUES('$idkampus','$nama','$alamat')";
}
if($aksi == 'edit') {

	$sql = "update kampus set nama='$nama' ,
		alamat='$alamat'  where idkampus='$idkampus'";

}
/* mysql way
 * $result=mysql_query($sql) or die(mysql_error());
 */
 
 /* This is the oracle way */
$sqlparse =oci_parse($conn,$sql);
$result=oci_execute($sqlparse) or die(oci_error());

Menghapus data

$idkampus = $_GET['idkampus'];
$sql = "delete from kampus where idkampus='$idkampus' ";
/* mysql  way 
* mysql_query($sql) or die(mysql_error());
*/
/*this is oracle way */
$parsesql = oci_parse($conn, $sql);
oci_execute($parsesql) or die(oci_error());


Source code

Ingin mencoba sendiri, silahkan download kode lengkapnya disini.

Menambah Dukungan Oracle di Apache XAMPP

XAMPP adalah bundle software lengkap untuk belajar pemrograman PHP dan MySQL. Sebenarnya PHP sendiri bisa dipasangkan dengan database lain seperti PostgreSQL atau Oracle, sayangnya masih banyak yang kesulitan melakukan seting agar Apache /XAMPP mendukung database oracle. Tujuan dari tulisan ini adalah memberikan petunjuk sederhana bagaimana agar Apache XAMPP kamu bisa support database oracle sehingga kamu bisa membuat aplikasi web dengan PHP dan Oracle.

Berikut ini adalah langkah langkahnya

  1. Pastikan XAMPP/Apache sudah terinstall, Download Oracle Express edition disini .
  2. Install oracle dan jika ditanya password masukan saja root. (default user adalah system)
  3. Buka file php.ini ( di XAMPP letaknya di XAMPP\php\php.ini). Jika kamu di linux atau menggunakan bundle lain, cek lokasi php.ini dengan membuat script sederhana yang intinya memanggil fungsi <code>phpinfo() </code>
  4. cari baris dibawah ini
;extension=php_oci8.dll
;extension=php_pdo_oci.dll

konfigurasi diatas ada dibaris 900-an. Buang titik koma (;) di awal baris sehingga menjadi seperti ini

 

extension=php_oci8.dll
extension=php_pdo_oci.dll

5. Restart Apache  Sekarang buka kembali halaman XAMPP dan klik menu phpinfo disebelah kiri. Pastikan ada konfigurasi oracle (OCI) seperti gambar dibawah ini
oci8

6. Langkah terakhir, cek koneksi ke oracle dengan menggunakan script php sederhana seperti dibawah ini

/* ganti password dengan password login oracle apex*/
/* oci_connect("user","password","localhost/XE"); */
$conn = oci_connect("system", "password", "localhost/XE");
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'],
 ENT_QUOTES), E_USER_ERROR);
}else {
echo "Koneksi ke oracle database sukses";
} 

Tutorial selanjutnya akan membahas tentang cara melakukan pengolahan data dengan PHP dan oracle. Tunggu aja ya!