연결은 PDO 기본 클래스의 인스턴스를 생성하여 설정됩니다. 어떤 드라이버를 사용하든 PDO 클래스 이름이 사용됩니다.
<?php$dbh = 새로운 PDO('mysql:host=localhost;dbname=test', $user, $pass);?>
참고: 연결 오류가 있는 경우 PDOException 예외 개체가 발생합니다.
<?phptry { $dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass) foreach($dbh->query('SELECT * from FOO') as $row) { print_r ($row); } $dbh = null;} catch (PDOException $e) { 인쇄 "오류!: " . "<br/>"; 죽는다();}?>
데이터를 성공적으로 연결한 후 PDO 클래스의 인스턴스가 스크립트로 반환됩니다. 이 연결은 PDO 개체의 수명 주기 동안 활성 상태로 유지됩니다.
연결을 닫으려면 개체를 삭제하여 해당 개체에 대한 나머지 참조가 모두 삭제되도록 해야 합니다. 개체 변수에 NULL 값을 할당할 수 있습니다.
이렇게 하지 않으면 PHP는 스크립트 끝에서 자동으로 연결을 닫습니다.
<?php$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass); // 여기서 연결을 사용합니다. // 이제 실행이 완료되었습니다. 여기서 연결을 닫습니다. $dbh = null ;? >
많은 웹 애플리케이션은 데이터베이스 서비스에 대한 지속적인 연결을 사용함으로써 이점을 얻습니다.
영구 연결은 스크립트가 끝난 후에도 닫히지 않으며 동일한 자격 증명을 사용하는 다른 스크립트 연결 요청이 이루어질 때 캐시되어 재사용됩니다.
지속적인 연결 캐싱을 사용하면 스크립트가 데이터베이스와 통신해야 할 때마다 새 연결을 설정하는 오버헤드를 방지하여 웹 애플리케이션을 더 빠르게 만들 수 있습니다.
<?php$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass, array( PDO::ATTR_PERSISTENT => true));?>
참고: 영구 연결을 사용하려면 PDO 생성자에 전달된 드라이버 옵션 배열에서 PDO::ATTR_PERSISTENT를 설정해야 합니다. 객체가 초기화된 후 PDO::setAttribute()를 사용하여 이 속성을 설정하면 드라이버는 영구 연결을 사용하지 않습니다.