PHP PDO
PDO(PHP 데이터 개체) 확장은 PHP가 데이터베이스에 액세스할 수 있는 가볍고 일관된 인터페이스를 정의합니다.
PDO는 데이터 액세스 추상화 계층을 제공합니다. 즉, 어떤 데이터베이스를 사용하든 동일한 기능(메서드)을 사용하여 데이터를 쿼리하고 얻을 수 있습니다.
PDO는 PHP5.1과 함께 출시되었으며 PHP5.0의 PECL 확장에서도 사용할 수 있습니다. 이전 PHP 버전에서는 실행할 수 없습니다.
PDO 설치
PDO 확장 기능이 설치되었는지는 PHP의 phpinfo() 함수를 통해 확인할 수 있습니다.
Unix 시스템에 PDO 설치
Unix 또는 Linux에서는 다음 확장을 추가해야 합니다:
extension=pdo.so
Windows 사용자
PDO 및 모든 주요 드라이버는 공유 확장으로 PHP와 함께 배포되므로 간단히 활성화하려면 php.ini를 편집하세요. 파일을 만들고 다음 확장자를 추가합니다.
extension=php_pdo.dll또한 다음에 해당하는 다양한 데이터베이스 확장자가 있습니다.
;extension=php_pdo_firebird.dll ;extension=php_pdo_informix.dll ;extension=php_pdo_mssql.dll ;extension=php_pdo_mysql.dll ;extension=php_pdo_oci.dll ;extension=php_pdo_oci8.dll ;extension=php_pdo_odbc.dll ;extension=php_pdo_pgsql.dll ;extension=php_pdo_sqlite.dll
이러한 구성을 설정한 후 PHP 또는 웹 서버를 다시 시작해야 합니다.
다음으로 구체적인 예를 살펴보겠습니다. 다음은 PDO를 사용하여 MySql 데이터베이스에 연결하는 예입니다.
<?php $dbms='mysql'; //数据库类型 $host='localhost'; //数据库主机名 $dbName='test'; //使用的数据库 $user='root'; //数据库连接用户名 $pass=''; //对应的密码 $dsn="$dbms:host=$host;dbname=$dbName"; try { $dbh = new PDO($dsn, $user, $pass); //初始化一个PDO对象 echo "连接成功<br/>"; /*你还可以进行一次搜索操作 foreach ($dbh->query('SELECT * from FOO') as $row) { print_r($row); //你可以用 echo($GLOBAL); 来看到这些值 } */ $dbh = null; } catch (PDOException $e) { die ("Error!: " . $e->getMessage() . "<br/>"); } //默认这个不是长连接,如果需要数据库长连接,需要最后加一个参数:array(PDO::ATTR_PERSISTENT => true) 变成这样: $db = new PDO($dsn, $user, $pass, array(PDO::ATTR_PERSISTENT => true)); ?>
다음으로 PHP PDO의 구체적인 지침을 살펴보겠습니다.
-
사전 정의된 상수
PHP PDO 연결 연결 관리
PHP PDO 트랜잭션 및 자동 제출
PHP PDO 준비된 문 및 저장 프로시저
PHP PDO 오류 및 오류 처리
PHP PDO 빅 object (LOBs)
PDO 클래스:
PDO::beginTransaction — 트랜잭션 시작
PDO::commit — 트랜잭션 커밋
PDO::__construct — 표현 데이터베이스 생성 연결 PDO 인스턴스
PDO::errorCode — 데이터베이스 핸들의 마지막 작업과 관련된 SQLSTATE 가져오기
PDO::errorInfo — 마지막 데이터베이스 작업의 오류 메시지 반환
PDO::exec — SQL 문을 실행하고 영향을 받은 행 수를 반환합니다.
PDO::getAttribute — 데이터베이스 연결의 속성을 검색합니다.
PDO::getAvailableDrivers — 사용 가능한 드라이버 배열을 반환합니다.
PDO::inTransaction — 트랜잭션 내에 있는지 확인하세요.
PDO::lastInsertId — 마지막으로 삽입된 행의 ID 또는 시퀀스 값을 반환합니다.
PDO::prepare — 실행할 SQL 문을 준비하고 PDOStatement 개체를 반환합니다.
-
PDO: :query — SQL 문을 실행하고 결과 집합으로 이해할 수 있는 PDOStatement 개체를 반환합니다.
PDO::quote — SQL 문의 문자열에 따옴표를 추가합니다.
PDO::rollBack — 트랜잭션 롤백
PDO::setAttribute — 속성 설정
PDOStatement 클래스:
PDOStatement::bindColumn — 열을 PHP에 바인딩 변수
PDOStatement::bindParam — 지정된 변수 이름에 매개변수 바인딩
PDOStatement::bindValue — 값을 매개변수에 바인딩합니다.
PDOStatement::closeCursor — 명령문을 다시 실행할 수 있도록 커서를 닫습니다.
PDOStatement::columnCount — 결과 집합의 열 수를 반환합니다.
PDOStatement::debugDumpParams — SQL 전처리 명령을 인쇄합니다.
PDOStatement::errorCode — 마지막 명령문 핸들과 관련된 SQLSTATE를 가져옵니다. Operation
PDOStatement::errorInfo — 마지막 문 핸들 작업과 관련된 확장 오류 정보 가져오기
PDOStatement::execute — 준비된 문 실행
PDOStatement::fetch — 결과에서 다음 행 가져오기 set
PDOStatement::fetchAll — 결과 집합의 모든 행을 포함하는 배열을 반환합니다.
PDOStatement::fetchColumn — 결과 집합의 다음 행에서 단일 열을 반환합니다.
PDOStatement::fetchObject — 다음 줄을 가져와 객체로 반환합니다.
PDOStatement::getAttribute — 문 속성 검색
PDOStatement::getColumnMeta — 결과 집합의 열에 대한 메타데이터 반환
PDOStatement::nextRowset — 다중 행 집합 문에서 다음으로 이동 rowset 처리
PDOStatement::rowCount — 이전 SQL 문에 의해 영향을 받은 행 수를 반환합니다.
PDOStatement::setAttribute — 문 속성을 설정합니다.
PDOStatement::setFetchMode — 기본 가져오기 모드를 설정합니다. 성명서 .