source

PHP에서 Oracle 데이터베이스를 연결하는 방법

ittop 2023. 7. 26. 22:27
반응형

PHP에서 Oracle 데이터베이스를 연결하는 방법

PHP에서 Oracle 데이터베이스에 연결하려면 어떻게 해야 합니까?

당신의 정확한 질문을 검색한 후 구글의 네 번째 링크는 다음 링크를 열었습니다: http://me2learn.wordpress.com/2008/10/18/connect-php-with-oracle-database/ .

<?php
    $db = "(DESCRIPTION=(ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.34)(PORT = 1521)))(CONNECT_DATA=(SID=orcl)))" ;

    if($c = OCILogon("system", "your database password", $db))
    {
        echo "Successfully connected to Oracle.\n";
        OCILogoff($c);
    }
    else
    {
        $err = OCIError();
        echo "Connection failed." . $err[text];
    }
?>

저는 당신이 php를 오라클 데이터베이스와 연결하기를 원한다고 생각했습니다.그래서, 저는 당신에게 두 개의 파일을 제공합니다, 이것은 당신이 참고할 수 있도록 기본적인 php-oracle을 나타냅니다.행운을 빕니다.

서식.

<form name="form1" method="post" action="login.php">
  <label> User Name
  <input type="text" name="nis" id="nis">
  </label>
  <label> Password
  <input type="password" name="password" id="password">
  </label>
  <label>
  <input type="submit" name="submit" id="button" value="Login">
  </label>
</form>

login.sys

<?php

//create table users (userid varchar2(10), password varchar2(20), constraint pk_users primary key (userid));
//insert into users values('kharis', 'pass123');

$nis = isset($_POST['nis']) == true ? $_POST['nis'] : '';
$password= isset($_POST['password']) == true ? $_POST['password'] : '';

if(empty($nis) or empty($password)){
    echo "UserID atau Password kosong";}
else
{
    $db = "(DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = patronus.ad-ins.com)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = XE)
        )
      )" ;
    $connect = oci_connect("HR", "hr", "XE");
    $query = "SELECT * from users WHERE userid='".$nis."' and password='".$password."'";
    $result = oci_parse($connect, $query);
    oci_execute($result);
    $tmpcount = oci_fetch($result);
    if ($tmpcount==1) {
        echo "Login Success";}
    else
    {
        echo "Login Failed";
    }
}
?>

PHP는 Oracle OCI8 함수를 제공합니다.다른 옵션으로는 오라클 드라이버를 사용한 PDO 및 (오라클이 지원하는 경우) ODBC가 있습니다.

다음과 같이 가장 쉬운 방법으로 연결을 만들었습니다.

1단계. 실행 중인 PHP 비트 버전(32비트 또는 64비트)을 확인합니다.PHP_인 경우INT_SIZE 값은 4이고 버전은 32비트입니다.PHP_인 경우INT_SIZE 값은 8이고 버전은 64비트입니다.아래 코드를 사용하십시오.

<?php
    switch(PHP_INT_SIZE) {
        case 4:
            echo '32-bit version of PHP';
            break;
        case 8:
            echo '64-bit version of PHP';
            break;
        default:
            echo 'PHP_INT_SIZE is ' . PHP_INT_SIZE;
    } 
?>

2단계. [OTN InstantClient 페이지][1]에서 Windows용 "InstantClient Package - Basic"을 다운로드합니다.1단계에서 해당 비트 버전을 다운로드해야 합니다.

3단계. InstantClient 파일의 압축을 풉니다.C:\instantclient_11_2다음을 포함하도록 윈도우즈 PATH 환경을 편집합니다.C:\instantclient_11_2예를 들어, Windows XP의 경우 '시작 > 제어판 > 시스템 >

Advanced > Environment Variables` and edit `PATH` in the `System`
> variables list.
Step 3. In your `php.ini` file, enable the following lines:
extension=php_oci8_11g.dll
extension=php_openssl.dll

Finally, restart your Apache server.

http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html

당신의 질문에서 당신이 오라클에 연결하도록 PHP 설치를 구성하기를 원하는지 아니면 단지 PHP 구문이 연결하기를 원하는지 확실하지 않습니다.

여기에는 이미 Windows 관련 답변과 연결 시스템 세금이 있으므로 이러한 링크를 통해 Oracle 클라이언트 라이브러리의 Linux 기반 설치에 대한 올바른 방향을 확인할 수 있습니다.

기본 단계는...

  • Oracle Client 라이브러리(Basic, SDK 및 sqlplus 패키지)의 압축을 풉니다.
  • 사용자 환경에 LD_LIBRARY_PATH 추가
  • 라이브러리에 대한 몇 가지 심볼 링크를 수정합니다.
  • PECLOCI8을 설치하면 공유 객체를 컴파일하므로 시스템에 C 컴파일러가 필요합니다.
  • php.ini 파일에서 확장자를 사용합니다.시스템에 CLI 및 웹 서버용으로 별도의 php.ini 파일이 있을 수 있으므로 둘 다 확인하십시오.
  • 웹 서버 다시 시작

이 단계들은 여러 블로그 게시물에 있으므로 여기서 운전대를 다시 잡지는 않겠습니다. 하지만 여기 꽤 좋아 보이는 링크들이 있습니다.

PHP에는 응용 프로그램이 Oracle 데이터베이스를 사용할 수 있도록 하는 여러 확장 기능이 있습니다.Oracle Database에 연결되는 PHP 확장자는 C로 작성되어 PHP 바이너리에 연결됩니다.확장자는 다음과 같습니다.

  1. OCI8
  2. PDO_OPDO용 CI 드라이버

ODBC 확장을 사용할 수도 있습니다.

PHP OCI8 확장 사용:-

<?php
// Create connection to Oracle
$conn = oci_connect("phphol", "welcome", "//localhost/orcl");
if (!$conn) {
   $m = oci_error();
   echo $m['message'], "\n";
   exit;
}
else {
   print "Connected to Oracle!";
}

// Close the Oracle connection
oci_close($conn);
?>

oci_connect()에는 수는다포다니함합이 포함되어 .username~하듯이phphol,password~하듯이welcome 리고그고.connection string~하듯이//localhost/orcl이 경우 Oracle의 Easy Connect 연결 문자열 구문이 사용됩니다.호스트 이름과 DB 서비스 이름으로 구성됩니다.

oci_close()함수가 연결을 닫습니다.명시적으로 닫히지 않은 표준 연결은 스크립트가 종료될 때 자동으로 해제됩니다.

PHP PDO 확장 사용:-

<?php
$dbh = new PDO('oci:dbname=localhost/XE', 'hr', 'welcome');
$s = $dbh->prepare("select city from locations");
$s->execute();
while (($r = $s->fetch(PDO::FETCH_ASSOC)) != false) {
 echo htmlentities($r['CITY']) . "<br>";
}
?>

자세한 내용은 아래 참조 자료를 참조:-

  1. oci_connect — Oracle 데이터베이스에 연결합니다.
  2. OCI8 - 예
  3. PDO_OCI
  4. PDO_OCI DSN - Oracle 데이터베이스에 연결하는 중
  5. Oracle Database 11g과 함께 PHP OCI8 사용
  6. PHP 및 Oracle Database 11g을 사용하는 Web 2.0 응용 프로그램

언급URL : https://stackoverflow.com/questions/5947809/how-to-connect-an-oracle-database-from-php

반응형