2011-05-10 5 views
8

PHP에서 Oracle 데이터베이스에 어떻게 연결합니까?PHP에서 Oracle 데이터베이스에 연결하는 방법

+0

? PDO 또는 OCI_를보십시오. http://www.php.net/manual/en/intro.oci8.php –

+0

중요한 것은 한 가지입니다 : 원격 Oracle 서버에 연결하려면 Oracle Instant를 설치해야합니다 고객. OIC에 대한 자세한 정보와 링크는 다음에서 볼 수 있습니다. http://de.php.net/manual/en/oci8.requirements.php –

답변

8

넷째 링크 : 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]; 
    } 
?> 
+0

해당 블로그 게시물은 특정 창문처럼 보입니다. –

2

PHP는 Oracle OCI8 functions을 제공합니다. 다른 옵션으로는 Oracle Driver 인 PDO와 (oracle이 지원하는 경우) ODBC이 있습니다. 다음 링크를 가져 정확한 질문을 검색 한 후 구글에서

3

난 당신이 오라클 데이터베이스와 PHP를 연결하려는 가정. 그래서 파일 두 개를 제공합니다.이 파일은 참조 할 수있는 기본 PHP-Oracle을 나타냅니다. 행운을 빕니다!

당신이 당신의 PHP가 오라클 또는 당신은 단지에 PHP 구문을 원하는 경우 연결하기 위해 설치, 구성하려는 경우 귀하의 질문에서

<?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"; 
    } 
} 
?> 
0

그것의 불분명 login.php

<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> 

form.php 연결 시키시겠습니까?

이미 Windows 특정 답변과 연결 systax가 있으므로이 링크는 Linux 클라이언트 라이브러리의 Linux 기반 설치의 올바른 방향을 알려줍니다.

기본 단계는 다음에 ..

  • 설치 라이브러리에 대한 몇 가지 심볼릭 링크를 수정하여 환경에 LD_LIBRARY_PATH를 추가하려면 오라클 클라이언트 라이브러리 (기본, SDK 및 SQLPLUS 패키지)의 압축을 해제 PECL OCI8에서는 공유 객체를 컴파일하므로 시스템에 C 컴파일러가 필요합니다.
  • php.ini 파일에서 확장을 사용합니다. 시스템에 CLI 및 웹 서버용으로 별도의 php.ini 파일이있을 수 있으므로 둘 다 확인하십시오.

이 단계는 내가 여기에 바퀴를 재발견하지 않습니다 여러 블로그 게시물에있는 웹 서버를 다시 시작

  • .

    1 단계는 무엇 PHP 비트를 결정하지만, 여기에 다음과 같이

  • 1

    내가 가장 쉬운 방법에서 연결을 만든 꽤 좋아 보이는 몇 가지 링크가 있습니다 실행중인 버전 (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 단계 다운로드 "InstantClient 패키지 - 기본" 에서 [OTN InstantClient 페이지]에서 윈도우를 [1].당신이 C:\instantclient_11_2를 포함 C:\instantclient_11_2 및 편집 윈도우 PATH 환경에 1 단계

    단계에서 3 압축을 풀고 InstantClient 파일을 해당 비트 버전을 다운로드해야합니다. 는 예를 들어, 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 
    
    관련 문제