PHP 5 이상에서는 다음 방법을 사용하여 MySQL에 연결하는 것이 좋습니다.
MySQLi 확장 ("i"는 개선됨을 의미함)
PDO(PHP 데이터 개체)
이전 버전의 PHP에서는 MySQL 확장을 사용했습니다. 그러나 이 확장은 2012년부터 더 이상 사용되지 않습니다.
짧은 대답이 필요한 경우 "편한 방법을 사용하십시오".
MySQLi와 PDO에는 다음과 같은 장점이 있습니다.
PDO는 12개의 서로 다른 데이터베이스에서 사용되며 MySQLi는 MySQL 데이터베이스만 대상으로 합니다.
따라서 프로젝트가 여러 데이터베이스 간에 전환해야 하는 경우 연결 문자열과 일부 쿼리 문만 수정하면 되므로 PDO를 사용하는 것이 좋습니다. MySQLi를 사용하면 다른 데이터베이스를 사용하는 경우 쿼리를 포함한 모든 코드를 다시 작성해야 합니다.
둘 다 객체 지향적이지만 MySQLi는 API 인터페이스도 제공합니다.
둘 다 준비된 진술을 지원합니다. 준비된 명령문은 SQL 주입을 방지할 수 있으며 웹 프로젝트 보안에 매우 중요합니다.
이 장과 다음 장에서는 다음 세 가지 방법을 사용하여 MySQL을 운영하는 PHP를 보여줍니다.
MySQLi(객체 지향)
MySQLi(프로시저 지향)
PDO
Linux 및 Windows: 대부분의 경우 php5 mysql 패키지가 설치되면 MySQLi 확장이 자동으로 설치됩니다.
설치에 대한 자세한 내용은 http://php.net/manual/en/mysqli.installation.php를 참조하세요.
phpinfo()를 통해 설치가 성공했는지 확인할 수 있습니다.
설치에 대한 자세한 내용은 http://php.net/manual/en/pdo.installation.php를 참조하세요.
phpinfo()를 통해 설치가 성공했는지 확인할 수 있습니다.
MySQL 데이터베이스에 액세스하기 전에 데이터베이스 서버에 연결해야 합니다.
위 객체 지향 예제의 $connect_error는 PHP 5.2.9 및 5.3.0에 추가되었습니다. 이전 버전과의 호환성이 필요한 경우 다음 코드를 사용하여 교체하십시오. // 연결 확인 if (mysqli_connect_error()) { die("Database 연결 실패: " . mysqli_connect_error());} |
위의 PDO 예에서는 데이터베이스(myDB)를 지정했습니다. PDO는 연결 프로세스 중에 데이터베이스 이름을 설정해야 합니다. 지정하지 않으면 예외가 발생합니다. |
스크립트가 실행된 후 연결이 자동으로 닫힙니다. 다음 코드를 사용하여 연결을 닫을 수도 있습니다.