Sabtu, 01 Desember 2012

Memanggil procedure di oracle melalui PHP

Beberapa hari yang lalu saya sudah menulis bagaimana membuat procedure di oracle dan bagaimana cara memanggil procedure oracle tapi masih dalam lingkungan oracle (Menggunakan SQL PLUS), Setelah beberapa hari tidak menulis di blog belajarphporacle.blogspot.com di awal bulan ini saya coba untuk membuat sintak bagaimana cara memanggil prosedure oracle melalui PHP, ternyata tidak sesulit yang saya bayangkan, :)

Masih ingat tulisan saya yang kemarin tentang Browse, input, delete dan edit oracle via PHP ???, saya menggunakan file proses_indata.php untuk memanggil prosedure oracle, berikut syntak PHP untuk memanggil prosedure di oracle, saya menggunakan file proses_indata.php

<?php
//Proses input data
include "konek.php"; // untuk memanggil koneksi
//Mendeklarasikan variabel dari FORM INPUT
$empno=$_POST['empno'];
$empname=$_POST['empname'];
$job=$_POST['job'];
$hiredate1=$_POST['date'];
$salary=$_POST['salary'];
$dept=$_POST['dept'];
//Merubah Format tanggal agar sesuai dengan tanggal yang di ORACLE
$date = date_create($hiredate1); 
$hiredate=date_format($date, 'd-M-Y'); 
//Proses input data
$Perintah = oci_parse($koneksi,"BEGIN tambah_data_emp('$empno','$empname','$job','$salary','$hiredate','$dept'); END;");

//$Perintah = oci_parse($koneksi,"INSERT INTO EMP (EMPNO,ENAME,JOB,HIREDATE,SAL,DEPTNO) VALUES ('$empno','$empname','$job','$hiredate','$salary','$dept')");

//Jika berhasil ditambah
if(oci_execute($Perintah)){
  oci_commit($koneksi); //Menyimpan perubahan
  oci_close($koneksi); //Menutup Koneksi
  echo "<script type='text/javascript'> alert ('Data berhasil di tambah') </script>";
  require_once "frm_input.php";
  }
else{
    //Jika gagal ditambah
    echo "<script type='text/javascript'> alert ('Data Gagal di tambahkan') </script>";
}

?>


//Ganti baris ini
$Perintah = oci_parse($koneksi,"INSERT INTO EMP (EMPNO,ENAME,JOB,HIREDATE,SAL,DEPTNO) VALUES ('$empno','$empname','$job','$hiredate','$salary','$dept')");

//Menjadi :
$Perintah = oci_parse($koneksi,"BEGIN tambah_data_emp('$empno','$empname','$job','$salary','$hiredate','$dept'); END;");


Perintah diatas memanggil prosedure dengan nama tambah_data_emp dengan parameter $empno,$empname,$job,$salary,$hiredate,$dept

Semoga bermanfaat, :)