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 |