php connect oracle
Ceritanya, kemarin ada lowongan programmer php, databasenya pakai oracle, jadinya belajar php lagi deh 🙂 , berikut contoh source php koneksi ke oracle.
——————-
Pertama, kita buat table di oracle, contoh table mahasiswa, berisi npm dan nama.
Kita ubah konfigurasi PHP-nya, di apache\bin\php.ini, seperti berikut :
bagian yang berhubungan sama oracle dan oci, “;”\comment nya dihilangkan..
Code: |
extension=php_oracle.dll extension=php_oci8.dll ;extension=php_oggvorbis.dll extension=php_openssl.dll ;extension=php_parsekit.dll extension=php_pdf.dll extension=php_pdo.dll ;extension=php_pdo_firebird.dll extension=php_pdo_mssql.dll extension=php_pdo_mysql.dll extension=php_pdo_oci.dll extension=php_pdo_oci8.dll ;extension=php_pdo_odbc.dll |
————
Restart apache…(kalau perlu restart komputer)
—————
Selanjutnya, kita buat file phpnya :
Code: |
<? // db.php ?> <? $db=”XE”; $user=”system”; $pass=”123″; ?> |
—————————
Code: |
<? //sql.php $qmhs=”select * from mahasiswa”; $qjmlmhs=”select count(*) from ($qmhs)”; ?> |
—————————–
Code: |
—————————- <? //ora_db.php class ora_db{ var $user,$pass,$db,$sql,$hasil,$kolom; function konekdb(){ include “db.php”; $this->user=$user; $this->pass=$pass; $this->db=$db; return ocilogon($this->user,$this->pass,$this->db); } function sql($sql){ return ociparse($this->konekdb(),$sql); } function execute($hasil){ return ociexecute($hasil); } function hitungrow($sql){ $state=ociparse($this->konekdb(),$sql); ociexecute($state); ocifetch($state); return ociresult($state,1); } function getarray($hasil){ return ocifetch($hasil); } function cols($hasil,$kolom){ return ociresult($hasil,$kolom); } function free($hasil){ return oci_free_statement($hasil); } } ?> |
——————————
Code: |
<? include “ora_db.php” ?> <? //prj.php class prj extends ora_db{ var $qmhs,$qjmlmhs,$edit; function seleksimhs(){ include “sql.php”; $this->qmhs=$qmhs; return $this->sql($this->qmhs); } function jmlmhs(){ include “sql.php”; $this->qjmlmhs=$qjmlmhs; return $this->hitungrow($this->qjmlmhs); } function insertmhs($qmhs,$qjmlmhs){ return $this->sql(“insert into mahasiswa values(‘$qmhs’,’$qjmlmhs’)”); } function seleksidmn($edit){ return $this->sql(“select * from mahasiswa where npm=’$edit'”); } function editmhs($qmhs,$qjmlmhs,$edit){ return $this->sql(“update mahasiswa set npm=’$qmhs’,nama=’$qjmlmhs’ where npm=’$edit'”); } } ?> |
—————————-
Code: |
<? include “prj.php” ?> <? $obj=new prj; $obj->konekdb(); $q=$obj->seleksimhs(); $obj->execute($q); echo $obj->jmlmhs($q).” baris<br>”; ?> <table border=1> <tr> <td>No. </td> <td>Nama </td> <td>Alamat</td> <td>Edit</td> </tr> <? $no=0; while ($obj->getarray($q)){ $no++; $npm=$obj->cols($q,1); ?> <tr> <td><?=$no?>.</td> <td><?=$npm?></td> <td><?=$obj->cols($q,2)?></td> <td><a href=”Edit.php?npm=<?=$npm?>”>Edit</a></td> </tr> <? } $obj->free($q); ?> |
——————————–
====
Udah ya, yang edit sama delete silakan coba sendiri 🙂
Pengunaan Config Global pada Delphi
Sama dengan pemrograman lain, penggunaan config global untuk memudahkan coding dan syntax yang tidak perlu, karena berisi coding-coding generic untuk program tersebut,
Contoh penggunaan di database seperti ini :
Misalkan kita punya Server bernama Serverku, dengan database SQLServer2000 :
Kita buat database dbtest, dengan tabel matakuliah yang berisi kode_matakuliah dan nama_matakuliah bertipe string untuk memudahkan. Ok, sekarang kita buat Datamodule (File->New->Datamodule) — Bernama DM, kita simpan dengan nama file umodul.pas, berikut code unitnya :
Code: |
unit umodul; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, Db, ADODB; type TDM = class(TDataModule) ADO: TADOConnection; //Properti Nama Adoquery Q: TADOQuery; //Properti Nama Datasource D: TDataSource; private { Private declarations } public { Public declarations } end; var DM: TDM; implementation {$R *.DFM} end. |
———-
Let’s go to global generic code :
Buat Unit baru, bukan form baru lho, tapi unit Baru(File ->New ->Unit) : Kita simpan dengan nama file uconfig.pas, berikut code-nya
Code: |
unit uconfig; interface procedure db; procedure seleksi(perintah:String); implementation uses umodul; procedure db; begin with DM.ADO do begin ConnectionString :=’Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=testdb;Data Source=Serverku’; LoginPrompt :=False; end; end; procedure seleksi; end. |
————————–
Dari configurasi global di atas, kita bisa panggil di form secara hemat :
Kita buat satu form, tambahkan object DBGrid ke dalam object form, arahkan Datasource ke DM.D , berikut coding unitnya :
Code: |
unit uutama; interface uses var implementation procedure TForm1.FormActivate(Sender: TObject); end. |
—————
Run program, akan tampil daftar matakuliah, dari sini kita bisa mengembangkan sendiri, selamat mencoba .
Ingin kubunuh puisi !!!
Yang menyelimuti keindahan dirimu
agar kudapat hilangkan semua ragu
untuk lenyapkanmu dari mimpi-mimpiku
lalu kubakar sendi-sendi hati yang selalu melukiskan wajahmu
yang membuat seluruh penjuru ruhku bergetar disulut gagu
——————————————–
tapi aku tak mampu….!???!
(___dari hati untuk hati yang bening di lorong waktu___)
——————————————
******
*****
***
**
*
Lalu kubiarkan saja ia merasukiku …
*
**
***
****
*****
dan aku kembali jadi gagu …
57 comments