Introduction to PHP Data Objects (PDO)

PHP로 데이터베이스 기반 애플리케이션을 구축 할 때 유효한 연결을 설정하기위한 API 데이터베이스에 PDO는 다른 하나는 MySQLi PDO는 단순히 데이터베이스입니다 액세스 계층은 여러 데이터베이스를 평가하기위한 일관된 방법을 제공합니다 우리는 PDO 대신에 PDO를 사용할 때의 이점에 대해 토론해야합니다

mysqli API는 첫 번째 장점 중 하나는 우리가 얘기하는 것입니다 PDO가 현재 여러 드라이버에 대한 지원을 제공한다는 사실 12 개의 다른 데이터베이스 시스템을 지원하는 반면 MySQLi는 오직 지원합니다 MySQL의 databese 그래서이의 장점은 당신이 하나에서 전환하는 것입니다 데이터베이스를 다른 PDO에 연결하면 프로세스가 매우 어려워집니다 반면에 MySQLi PDO에서 모든 코드를 다시 작성해야합니다 몇 가지만 변경하면됩니다 연결 문자열 만 쿼리하여 현재 설치된 목록을 가져옵니다

컴퓨터의 드라이버를 사용하면 PDO 방법을 사용할 수 있습니다 사용 가능한 드라이버를 얻으십시오 이걸 어떻게 제대로 할 수 있을까요? 여기 빈 PDO 프로젝트가 있습니다 이 프로젝트는 지금 Databasephp에 젖어 있습니다

사용 가능한 모든 드라이버를 내 시스템에로드하려면 전화를해야합니다 PDO 함수는 배열을 반환 할 사용 가능한 모든 드라이버를 얻습니다 이 경우 사용 가능한 모든 드라이버 중에서 var_dump 또는 print_r 함수를 사용하여 결과를 표시하면 var_dump 그래서 우리는 PDO 클래스에 전화를 걸어 사용 가능한 모든 드라이버를 얻으십시오 브라우저에서이 페이지를 새로 고치면 사용 가능한 모든 목록이 나에게 표시됩니다 여기서 내 시스템의 드라이버는 MySQL과 SQLite를 사용하고 있으므로 다른 드라이버를 설치하려면 PHP 설명서를 살펴보십시오

그 드라이버는 내 시스템에, PDO의 또 다른 멋진 기능은 오류 처리입니다 기능 PDO에는 inbuilt 예외 클래스가있어 쉽게 데이터베이스 쿼리를 실행할 때 발생할 수있는 문제를 처리합니다 PDO를 사용하면 준비된 문을 사용하여 SQL 주입 방지 SQL 주입은 다음과 같습니다 기본적으로 공격자가 악성 SQL을 삽입 할 수있는 기술 귀하의 데이터베이스에 심각한 피해를 입힐 수있는 입력 데이터를 통한 진술 PDO가 제공하는 준비된 진술을 사용하면 우리의 데이터베이스에 이런 종류의 공격으로부터 보호, 반면에 MySQLi도 지원합니다 이 차이점은 MySQLi가 서수 또는 무명을 지원한다는 것입니다 mysqli가 명명 된 매개 변수 사용을 지원하지 않는다는 것을 의미하는 매개 변수 유형 우리가 우리의 준비를위한 매개 변수를 지정할 때 우리가 더 명백하게 할 수있게 해준다 다른 한편으로는 PDO는 두 가지 방법 모두를 지원하고 서문 또한 unamed 매개 변수와 명명 된 매개 변수를 참조합니다

유형 물음표는 MySQLi에서 매개 변수를 PDO에서는 두 가지 방법을 모두 사용할 수 있지만 물음표 또는 우리는 식별하기 위해 사용하고자하는 특정 열의 이름을 지정할 수 있습니다 데이터를 데이터베이스에 삽입 할 때 또는 우리가 데이터베이스에서 데이터를 쿼리하거나 일반적으로 어떤 종류의 작업을 수행 할 때 운영 PDO의 또 다른 멋진 기능은 트랜잭션 및 de 기본적으로 트랜잭션은 가장 완전한 모든 명령문 그룹입니다 함께 또는 실패하므로 롤백을 사용하여 데이터 일관성을 보장 할 수 있습니다 기능을 사용하면 트랜잭션을 롤백 할 수 있습니다 트랜잭션이 성공적으로 완료되지 않음 이것의 중요한 예는 은행 업무 응용 프로그램이 될 것이므로 우리는 우리가 과정에서 계속 진행할 때이 모든 것을 나중에 구현하는 법을 배워라 실제로 여기에서 고려해야 할 마지막 사항은 실제로 PDO를 표준 PHP 라이브러리와 결합 할 수 있습니다

일반적인 문제를 해결하는 데 사용할 수있는 클래스 및 인터페이스 PDO는 SPL 반복자와 실제로 결합되어보다 빠른 로딩을 가능하게합니다 거대한 데이터 세트 이것은 상당히 진보 된 개념이며 PHP 매뉴얼에서 실제로 확인할 수 있습니다 이것들은 데이터베이스 액세스를 위해 PDO를 훌륭하게 만드는 몇 가지 기능입니다 MySQLi는 나쁘지 않습니다 PDO는 MySQLi에 비해 더 많은 기능을 가지고 있음이 밝혀졌습니다