PHP에서 Oracle 데이터를 쿼리하는 방법

PHPz
풀어 주다: 2023-03-29 11:06:34
원래의
612명이 탐색했습니다.

PHP 쿼리 Oracle 데이터

인터넷 기술의 발전으로 데이터베이스를 쿼리하고 운영해야 하는 웹사이트와 애플리케이션이 점점 더 많아지고 있습니다. Oracle은 대용량 데이터를 저장하고 관리할 수 있는 널리 사용되는 관계형 데이터베이스 관리 시스템입니다. PHP는 Oracle 데이터베이스와 통신할 수 있는 널리 사용되는 서버측 스크립팅 언어입니다. 이번 글에서는 PHP를 사용하여 Oracle 데이터베이스를 쿼리하는 방법을 알아 보겠습니다.

  1. 환경 준비

PHP를 사용하여 Oracle 데이터베이스에 쿼리하기 전에 해당 도구와 환경을 준비해야 합니다. 구체적인 단계는 다음과 같습니다.

1.1 PHP 설치

먼저 PHP를 설치해야 합니다. PHP 공식 웹사이트에서는 Windows 및 Linux 버전용 설치 프로그램을 제공하며, 자신의 운영 체제에 맞는 설치 프로그램을 다운로드할 수 있습니다. 설치 과정에서 Oracle 데이터베이스 드라이버 설치 선택에 주의해야 합니다.

1.2 Oracle 클라이언트 소프트웨어 설치

PHP를 설치한 후 PHP가 Oracle 데이터베이스에 연결할 수 있도록 Oracle 클라이언트 소프트웨어를 설치해야 합니다. Oracle 공식 웹사이트에서는 Windows 및 Linux 버전용 클라이언트 소프트웨어 설치 프로그램을 제공하고 있으며, 귀하의 운영 체제에 따라 해당 프로그램을 다운로드하여 설치할 수 있습니다. 설치 프로세스 중에 Oracle 클라이언트 소프트웨어 설치 선택에 주의해야 합니다.

1.3 PHP.ini 파일 구성

PHP 설치 디렉터리에 php.ini 파일이 있는데, PHP가 Oracle 데이터베이스에 연결할 수 있도록 구성해야 합니다. 구체적인 단계는 다음과 같습니다.

  • php.ini 파일에서 "extension=php_oci8.dll" 또는 "extension=php_oci8.so"를 검색하고 앞에 있는 세미콜론을 제거한 후 OCI8 확장 모듈을 활성화합니다.
  • php.ini 파일에 다음 코드를 추가하세요:
[OCI8]
extension=php_oci8.dll(或php_oci8.so)
oci8.privileged_connect = Off
oci8.max_persistent = -1
oci8.persistent_timeout = -1
oci8.ping_interval = 60
oci8.statement_cache_size = 20
oci8.default_prefetch = 100
로그인 후 복사
  1. Oracle 데이터베이스에 연결

환경을 구성한 후 PHP를 사용하여 Oracle 데이터베이스에 연결할 수 있습니다. 구체적인 단계는 다음과 같습니다.

2.1 연결 정보 준비

Oracle 데이터베이스에 연결할 때 다음 정보를 제공해야 합니다.

  • Oracle 데이터베이스의 호스트 이름 또는 IP 주소
  • Oracle 데이터베이스의 포트 번호 (기본값은 1521)
  • Oracle 데이터베이스 SID 또는 서비스 이름
  • Oracle 데이터베이스 사용자 이름 및 비밀번호

이 정보는 Oracle 데이터베이스 관리자에게서 얻을 수 있습니다.

2.2 OCI8 확장을 사용하여 Oracle 데이터베이스에 연결

PHP 코드에서는 OCI8 확장을 사용하여 Oracle 데이터베이스에 연결할 수 있습니다. 구체적인 단계는 다음과 같습니다.

$conn = oci_connect($user, $password, $host . '/' . $sid);
로그인 후 복사

그 중 $user 및 $password는 Oracle 데이터베이스의 사용자 이름과 비밀번호이고, $host는 Oracle 데이터베이스의 호스트 이름 또는 IP 주소이며, $sid는 SID 또는 서비스입니다. 오라클 데이터베이스의 이름입니다. 연결이 성공하면 $conn이 연결 개체가 됩니다.

  1. 쿼리 작업 수행

연결이 성공한 후 OCI8 확장을 사용하여 쿼리 작업을 수행할 수 있습니다. 구체적인 단계는 다음과 같습니다.

3.1 쿼리문 준비

쿼리문은 SQL 언어로 작성할 수 있으며 구문은 Oracle SQL과 동일합니다.

SELECT column1, column2, ... columnN
FROM table_name
WHERE [condition]
로그인 후 복사

그 중 column1, column2, ...columnN은 쿼리 컬럼 이름, table_name은 쿼리 테이블 이름, [condition]은 쿼리 조건입니다.

3.2 OCI8 확장을 사용하여 쿼리 작업 수행

PHP 코드에서는 OCI8 확장을 사용하여 쿼리 작업을 수행할 수 있습니다. 구체적인 단계는 다음과 같습니다.

$stid = oci_parse($conn, $query);
oci_execute($stid);
로그인 후 복사

그 중 $conn은 연결 개체, $query는 쿼리 문, $stid는 쿼리 결과 개체입니다.

  1. 쿼리 결과 처리

쿼리 결과는 OCI8 확장 기능을 사용하여 처리할 수 있습니다. 구체적인 단계는 다음과 같습니다.

4.1 쿼리 결과 열 이름을 가져옵니다

oci_num_fields() 함수를 사용하여 쿼리 결과 열 번호를 가져오고, oci_field_name() 함수를 사용하여 열 이름을 가져올 수 있습니다.

$ncols = oci_num_fields($stid);
for ($i = 1; $i <= $ncols; ++$i) {
    $colname = oci_field_name($stid, $i);
    echo "$colname\t";
}
로그인 후 복사

4.2 쿼리 결과 레코드 가져오기

oci_fetch_array() 함수를 사용하여 레코드 행을 가져와 배열로 저장할 수 있습니다.

while (($row = oci_fetch_array($stid, OCI_ASSOC + OCI_RETURN_NULLS)) != false) {
    foreach ($row as $item) {
        echo $item."\t";
    }
}
로그인 후 복사
  1. 전체 코드

다음은 PHP를 사용하여 Oracle 데이터베이스를 쿼리하기 위한 전체 코드 예제입니다.

$user = "用户名";
$password = "密码";
$host = "主机名/IP地址";
$sid = "SID/服务名";
$conn = oci_connect($user, $password, $host . '/' . $sid);
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}
$query = "SELECT * FROM table_name WHERE condition";
$stid = oci_parse($conn, $query);
oci_execute($stid);
$ncols = oci_num_fields($stid);
for ($i = 1; $i <= $ncols; ++$i) {
    $colname = oci_field_name($stid, $i);
    echo "$colname\t";
}
while (($row = oci_fetch_array($stid, OCI_ASSOC + OCI_RETURN_NULLS)) != false) {
    foreach ($row as $item) {
        echo $item."\t";
    }
}
oci_free_statement($stid);
oci_close($conn);
로그인 후 복사

위는 PHP를 사용하여 Oracle 데이터베이스를 쿼리하는 자세한 단계입니다. 이 기사를 통해 독자들은 PHP에서 Oracle 데이터베이스에 연결하고 쿼리하는 방법을 이해했다고 생각합니다.

위 내용은 PHP에서 Oracle 데이터를 쿼리하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿