Database

Oracle - PHP 연동 샘플

Jack Moon 2012. 10. 8. 16:07

ORACLE - PHP 샘플

PHP 버전이 올라가며 오라클과의 연동 함수가 많이 바뀌었네요. oci_ 이런식으로....

 

 ----------- function.php ---------

<?php
function oracle_open($user='moon0sool', $passwd='ansdudtnf', $dns='MISO') {        //오라클 접속정보 초기화
 $dns = "
  (DESCRIPTION =
   (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.11)(PORT = 1521))
   )
   (CONNECT_DATA =
    (SERVICE_NAME = MISO)
   )
  )
 ";
 $conn = oci_connect($user, $passwd, $dns);
 if (!$conn) {
  $e = oci_error();
  trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
 }
 return $conn;

?>

 

 

 ----------- oracle_test.php ---------

<?
header(' Content-Type: text/html; charset=euc-kr');
include_once("/home/otto/www/include/function.php");

$conn = oracle_open();

 

 

/* multi rows */
$query = "SELECT NAME, NAME_EN FROM TEST";
$stid = oci_parse($conn, $query);
oci_execute($stid);

while (($row = oci_fetch_array($stid, OCI_BOTH))) {
  echo $row[0] . " : " . $row[1] . "<br>";
}

echo "Total Count : " . oci_num_rows($stid);

oci_free_statement($stid);

 

 

/* one row */
$query = "SELECT NAME, NAME_EN FROM TEST WHERE NAME_EN = 'MOON1'";
$stid = oci_parse($conn, $query);
oci_execute($stid);

list($rec1, $rec2) = oci_fetch_row($stid);
echo $rec1 . " ### " . $rec2;

oci_free_statement($stid);


 

/* one rec */
$query = "SELECT NAME FROM TEST WHERE NAME_EN = 'MOON1'";
$stid = oci_parse($conn, $query);
oci_execute($stid);

list($rec) = oci_fetch_row($stid);
echo $rec;

oci_free_statement($stid);


 

/* insert */
$query = "INSERT INTO MOON0SOOL.TEST (NAME, NAME_EN)
   VALUES ( '테스트', 'test')";
$stid = oci_parse($conn, $query);
oci_execute($stid);
oci_free_statement($stid);

 


oci_close($conn);
?>

 

 

 

 

 

'Database' 카테고리의 다른 글

Oracle 에러  (0) 2012.10.08
Oracle 복구  (0) 2012.10.08
Oracle 백업  (0) 2012.10.08
MySQL 패스워드 변천사  (0) 2012.10.08
인덱스를 타지 않는 경우  (0) 2012.10.08