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
menembus batas mimpi
ketika kugambar sepi
tak terasa aku sudah menembus batas mimpi
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 …
54 comments