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
hallo pak abdul, nah saya mau tanya nih kalo muncul pesan error seperti ini gimana ???
Warning: _oci_open_server: (ò in c:\apache\htdocs\portal_2\opendb.php on line 2
Could not connect to ORACLE
saya pake php 4.3 oracle 9i
Maap satu lagi pak abdul, saya bikin 2 web server dalam 1 mesin server. IIS + APACHE, nah kan udahsaya bedain tuh portnya tapi kalo saya run keduanya yang IIS jalan yang Apache ga jalan untuk koneksi oraclenya. tapi kalo yang iis untuk ngejalanin oracle developer jalan.
pesan errornya :
Warning: _oci_open_server: (ò in c:\apache\htdocs\portal_2\opendb.php on line 2
Could not connect to ORACLE
Terimakasih
— berarti driver dll-nya ada yang belum di-uncomment, kalau di php 5 menggunakan xampp 1.6.2 bisa, ga tahu kalau di php 4, kemarin sempat coba di php 4, tapi gagal
, coba deh pakai xampp yang baru, download aja 
– terus jangan lupa periksa apakah TNSListener-nya udah nyala apa belum, …
—kalau mau jalanin apache, ya IIS-nya matiin dulu ,
, dan sebaliknya
maaf pak abdul
dikantor saya menggunakan oracle7 sebagai database, xampp v1.6 sebagai webserver, saya uda cb uncomment ext di php.ini, persis seperti tutorial ini>/a>, tapi malah muncul “fatal error : call to undefine function ocilogon() in E:\xampp\htdocs\koneksi.php on line 5″
itu knapa ya pak??
maaf pak abdul
dikantor saya menggunakan oracle7 sebagai database, xampp v1.6 sebagai webserver, saya uda cb uncomment ext di php.ini, persis seperti tutorial ini>, tapi malah muncul “fatal error : call to undefine function ocilogon() in E:\xampp\htdocs\koneksi.php on line 5″
itu knapa ya pak??
kadang2, php emang ga bisa langsung konek bila dll nyadi uncomment, coba restart tnslistener oraclenya ,apachenya juga restart, kalau perlu, restart komputer, saya mencoba ini dengan oracle 10G, saya belum pernah coba di oracle 7, coba aja ganti ke oracle 10 G.. :d
BAGAIMANA CARA MENGGUNAKAN CONNECTION (LANGKAH – LANGKAH) YANG BUKAN DARI ODBC, SQL, ARACLE.???? CONTOHNYA 2 AJA PAK….
maksudnya ?
wduhhh, kurang jelassss..saya make orc9i+xamp1.6.5 pak, bisa di perjelas lagi plisssss
kalau pengen lebih jelas bisa online di YM , id saya samson_asik
pak saya barusan add yahoo, mohon di approve biar bisa nanya lebih detil
pak abdul saya mau tanya, kalau iis, php dan oracle . cara konfigurasi masing masing gimana sih?
ehm.., kalau IIS, saya belum pernah coba
cara diatas berhasil connect php ke oracle
thx a lot
kalo ada yang punya artikel / materi php n oracle
tolong kirim ke email ya:agree_wda@yahoo.com
udah ikut cara diatas tapi muncul Fatal error: Call to undefined function ocilogon(), ada saran ato penjelasan mengenai error diatas??
thx.
udah edit belum php.ini nya ?
aku pake link edit:
<a href=”?pilih=app/interconnect/log/prev_edit_msl?id=”>Edit
bukan muncul prev_edit_msl.php malah index.php
ksalahannya dmn ya?
kalau yang saya lihat, itu “seolah” menggunakan include ya ?
jadi misalkan kita ada di page index.php, kita include prev_edit_msl ?
nah, kalau gitu, kalau menurut saya, tidak aman, karena memungkinkan orang include halaman lain, misal
?pilih=www.hacking.com/hack.php?id=hack
nah, mending kalau menurut saya, pakai get parameter aja, misal :
edit
nah, kasih if :
<?
if (isset($_REQUEST['edit'])):
include “prev_edit_msl.php”;
endif;
?>
semoga membantu
Izin ya pa abdul contoh source-nya dijadikan modul untuk belajar, karena contoh nya cukup membumi…yhx
boleh aja, asal menuliskan sumbernya
kepada silda,
silda pakainya oracle 7 for windows apa di Unix?
kalau for windows tentu lebih mudah.
Setahu saya oracle7 for windows lebih ringan dan jalannya sangat cepat sekali seperti yang dipakai di instansi-instansi pemerintah.
bagus mas, semoga amal baeknya diterima tuhan,………..terimkasih atas tutorialnya.sy sangat terbantu sekali denngan tutorial ini.
kalau boleh datanya di update terus,….sy pengen buat web dengan database oracle yang nanti ada fungsi login, searching, download file, insert, delete,tambah data dll seperti kebanyakan web dinamis,……
nah itu gimana mas,…. tolong mas sy dibantu
sy anak kudus baru belajar tahap oracle, di kampus saya belum ada yang bisa………………….universitas muria kudus jateng indonesia
wedew, banyak amat ya permintaanya, he..he..
ehm.., gini deh, mendingan mas stanley belajar konsep programming dan algoritmanya dulu, kalau itu udah paham, soal coding mah, ga susah kok, kalau ga ada di dokumentation / API, bisa cari di Google, yang penting konsepnya dulu dimatengin.
php.ini sudah di edit. tapi ko masih muncuk Fatal error: Call to undefined function OCILogon() ya..
kenapa ya pa…?
itu berarti function ocilogon() tidak dikenali , kemungkinan besar drivernya (file dll tidak ditemukan) , atau ada, tapi ga support sama PHP nya, jadi ga dikenali function tersebut.
coba cek di phpinfo() , kalau untuk oracle ga ada, coba install web container yang baru (xampp, wampp, mampp) atau yg lainnya.
saya sudah menggunakan xampp. tapi tetap saja tidak mau. apakan tergantung dari versinya juga? lalu caranya agar support terhadap php bgm?
ada lagi nih kendalanya..
aku sudah ubah settingan php.ini nya. tapi ketika aku restart xampp nya ada pesan error : “the procedure entry point OCILobRead2 could not bo located in the dynamic link library OCI.dll.”
mohon penjelasannya pa….
pakai oracle berapa? soalnya OciLobRead2 ga support sama oracle 9.2, coba upgrade ke oracle 10G.
kalau tetep gagal, coba cari cara lain, misal pakai adodb, dan lain2, selalu ada jalan jika kita mau memecahkan persoalan.ok, keep fighting!!!
saya pakai oracle 10G, di localnya juga ada oracle client. tapi masih tetep tidak di kenali. bukannya kalo pakai ADODB malah terkasan muter-muter?
uda gt aku juga coba pake zend. dikenali sih memang. hanya saat aku panggil DB nya, datanya nya ga muncul.
bisa minta tutor yang lebih spesifiq ga? mulai dari setting, sampai manggil DB dan munculin data. -yang sederhana aja-
kalo berkenan ke e-mail hendrik@intraco.co.id saja
sebelumnya terima kasih banyak
trims
Itu tergantung gmn kita memanage codingnya.
kalau itu sih masalah di codingnya, bukan di PHP-nya
maaf, karena kesibukan yg bejibun(cie..cie..) saya belum punya waktu , nanti kalau ada waktu luang diusahakan, tapi intinya mah keep fight, try and error, soalnya ini kan masalah ada di konfigurasi dan engine web container yg dipakai masing2, mungkin satu orang punya pemecahan yang lain dengan orang yang lainnya.
semoga membantu
bisa minta tolong untuk yang adodb ga? saya kurang mengerti dengan tutorial yang ada di phplens.com itu… ga jelas
thanks b4 yah
id ym saya : r3ndy_ipb
oh ya nanya lagi… seandainya neh server database gua ada di ip 192.168.1.10 di port default 1521 nah ntar cara koneksiinnya gimana? sepertinya contoh diatas tidak ada yah? trims.. mohon bantuannya…
bisa aja, tinggal buka firewall untuk port 1521 -nya.
Warning: oci_connect() [function.oci-connect]: ORA-12154: TNS:could not resolve the connect identifier specified in D:\server\www\bisniscom\a2\connectoracle.php on line 3
ORA-12154: TNS:could not resolve the connect identifier specified
bisa tolong dijelaskan kenapa saya ga bisa connect nya, padahal TNSnya sudah saya restart
saya coba connect menggunakan script ini
saya coba connect menggunakan script ini
// try connecting to the database
$conn = oci_connect(‘orcl’, ‘password’, ‘LOCALNAME’);
// check for any errors
if (!$conn)
{
$e = oci_error();
print htmlentities($e['message']);
exit;
}
// else there weren’t any errors
else
{
echo ‘I am an Oracle mack daddy.’;
}
tapi muncul
Warning: oci_connect() [function.oci-connect]: ORA-12154: TNS:could not resolve the connect identifier specified in D:\server\www\bisniscom\a2\connectoracle.php on line 3
ORA-12154: TNS:could not resolve the connect identifier specified
bisa tolong dijelaskan kenapa saya ga bisa connect nya, padahal TNSnya sudah saya restart tuh
itu berarti ada yg salah pada file : tnsnames.ora
coba cek lg
rekan2 saya minta tolong, saya bikin web aplikasi dengan php, tapi kenapa pas saya taro diserver pas ceklogin koq malah bukan ngecek ke file ceklogin.php tapi file ceklogin.phpnya malah didownload, kenapa ya??? tolong bantuannya
coba di browser yg lain di komputer lain, kalau tetep, berarti masalahnya ada di sisi server, si web server tidak mengenal *.php sebagai extension yg harus ia proses.
Bagus tutorialnya
maaf pak tutorialnya kurang jelas ya,,,,,
bisa di jelasin secara detil atau kalau ada scriptnya minta boleh ?
send to *saprildwi@ymail.com*
kalu muncul pesan seperti ini pak
Warning: oci_connect() [function.oci-connect]: OCIEnvNlsCreate() failed. There is something wrong with your system – please check that PATH includes the directory with Oracle Instant Client libraries in C:\xampp\htdocs\oracle\index.php on line 5
kesalahanya dimna ea?
coba periksa kembali library oracle untuk php nya
, mungkin corrupt
salam kenal,,
saya mau tanya,,
di browser muncul pesan
-Warning: ociparse() expects parameter 1 to be resource, null given in C:\xampp\htdocs\Diva7_file1.php on line 25
-Warning: ociexecute() expects parameter 1 to be resource, null given in C:\xampp\htdocs\Diva7_file1.php on line 26
-Warning: ocifetchinto() expects parameter 1 to be resource, null given in C:\xampp\htdocs\Diva7_file1.php on line 27
kira2 salahnya dmna y,,
makasih,
coba var_dump($this->konekdb()) hasilnya gmn ?
makasih mas, sudah bisa,,
saya mau tanya lagi nih,, saya buat link halaman,,
nah stlah itu ada pesan error kyk gni d browser,,
Call to undefined function ocifetchrow() in C:\xampp\htdocs\Diva\Php_Arton\areaT.php on line 43
kira2 knp y??
coba ocifetch , bukan ocifetchrow
pak tolong ini errornya Warning: ociexecute() [function.ociexecute]: ORA-01722: invalid number in C:\xampp\htdocs\xfunwater\barang.php on line 41. salah dmnnya ya??
walah kepanjangan source codenya ._.
coba di echo dulu sql nya
, kemungkinan ada data type yg tidak sama antara values input dan data type di dalam table