PHP 튜토리얼

PHP 홈 PHP 소개 PHP 설치 PHP 구문 PHP 주석 PHP 변수 PHP 에코 / 인쇄 PHP 데이터 유형 PHP 문자열 PHP 숫자 PHP 수학 PHP 상수 PHP 연산자 PHP If...Else...Elseif PHP 스위치 PHP 루프 PHP 함수 PHP 배열 PHP 슈퍼글로벌 PHP 정규식

PHP 양식

PHP 양식 처리 PHP 양식 유효성 검사 PHP 양식 필요 PHP 양식 URL/이메일 PHP 양식 완성

PHP 고급

PHP 날짜 및 시간 PHP 포함 PHP 파일 처리 PHP 파일 열기/읽기 PHP 파일 생성/쓰기 PHP 파일 업로드 PHP 쿠키 PHP 세션 PHP 필터 PHP 필터 고급 PHP 콜백 함수 PHP JSON PHP 예외

PHP OOP

PHP OOP란? PHP 클래스/객체 PHP 생성자 PHP 소멸자 PHP 액세스 수정자 PHP 상속 PHP 상수 PHP 추상 클래스 PHP 인터페이스 PHP 특성 PHP 정적 메서드 PHP 정적 속성 PHP 네임스페이스 PHP 반복 가능

MySQL 데이터베이스

MySQL 데이터베이스 MySQL 연결 MySQL 생성 DB MySQL 테이블 생성 MySQL 삽입 데이터 MySQL 마지막 ID 가져오기 MySQL은 다중 삽입 MySQL 준비 MySQL 선택 데이터 MySQL 어디 MySQL 주문 기준 MySQL 데이터 삭제 MySQL 업데이트 데이터 MySQL 제한 데이터

PHP XML

PHP XML 파서 PHP SimpleXML 파서 PHP SimpleXML - 가져오기 PHP XML 국외 거주자 PHP XML DOM

PHP - AJAX

AJAX 소개 AJAX PHP AJAX 데이터베이스 AJAX XML AJAX 라이브 검색 AJAX 투표

PHP 예제

PHP 예제 PHP 컴파일러 PHP 퀴즈 PHP 연습 PHP 인증서

PHP 참조

PHP 개요 PHP 배열 PHP 캘린더 PHP 날짜 PHP 디렉토리 PHP 오류 PHP 예외 PHP 파일 시스템 PHP 필터 PHP FTP PHP JSON PHP 키워드 PHP 라이브러리 XML PHP 메일 PHP 수학 PHP 기타 PHP MySQLi PHP 네트워크 PHP 출력 제어 PHP 정규식 PHP SimpleXML PHP 스트림 PHP 문자열 PHP 변수 처리 PHP XML 파서 PHP 우편번호 PHP 시간대

PHP 는 MySQL에 연결


PHP 5 이상은 다음을 사용하여 MySQL 데이터베이스에서 작동할 수 있습니다.

  • MySQLi 확장 ("i"는 개선됨을 나타냄)
  • PDO(PHP 데이터 개체)

이전 버전의 PHP는 MySQL 확장을 사용했습니다. 그러나 이 확장은 2012년에 더 이상 사용되지 않습니다.


MySQLi 또는 PDO를 사용해야 합니까?

짧은 대답이 필요하면 "당신이 좋아하는 것"이 ​​될 것입니다.

MySQLi와 PDO는 모두 다음과 같은 장점이 있습니다.

PDO는 12개의 다른 데이터베이스 시스템에서 작동하지만 MySQLi는 MySQL 데이터베이스에서만 작동합니다.

따라서 다른 데이터베이스를 사용하기 위해 프로젝트를 전환해야 하는 경우 PDO를 사용하면 프로세스가 쉬워집니다. 연결 문자열과 몇 가지 쿼리만 변경하면 됩니다. MySQLi를 사용하면 쿼리가 포함된 전체 코드를 다시 작성해야 합니다.

둘 다 객체 지향이지만 MySQLi는 절차적 API도 제공합니다.

둘 다 준비된 진술을 지원합니다. Prepared Statements는 SQL 주입으로부터 보호하며 웹 애플리케이션 보안에 매우 중요합니다.


MySQLi 및 PDO 구문 모두의 MySQL 예제

이 장과 다음 장에서 PHP와 MySQL을 사용하는 세 가지 방법을 보여줍니다.

  • MySQLi(객체 지향)
  • MySQLi(절차적)
  • PDO

MySQLi 설치

Linux 및 Windows의 경우: 대부분의 경우 php5 mysql 패키지가 설치되면 MySQLi 확장이 자동으로 설치됩니다.

자세한 설치 정보는 http://php.net/manual/en/mysqli.installation.php 로 이동하십시오.


PDO 설치

자세한 설치 정보는 http://php.net/manual/en/pdo.installation.php 로 이동하십시오.



MySQL에 대한 연결 열기

MySQL 데이터베이스의 데이터에 액세스하려면 먼저 서버에 연결할 수 있어야 합니다.

예(MySQLi 객체 지향)

<?php
$servername = "localhost";
$username = "username";
$password = "password";

// Create connection
$conn = new mysqli($servername, $username, $password);

// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully";
?>

위의 객체 지향 예제를 참고하세요.

$connect_error는 PHP 5.2.9 및 5.3.0까지 깨졌습니다. PHP 5.2.9 및 5.3.0 이전 버전과의 호환성을 보장해야 하는 경우 다음 코드를 대신 사용하십시오.

// 연결 확인
if (mysqli_connect_error()) {
  die("데이터베이스 연결 실패: " . mysqli_connect_error());
}

예(MySQLi 절차)

<?php
$servername = "localhost";
$username = "username";
$password = "password";

// Create connection
$conn = mysqli_connect($servername, $username, $password);

// Check connection
if (!$conn) {
  die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?>

예(PDO)

<?php
$servername = "localhost";
$username = "username";
$password = "password";

try {
  $conn = new PDO("mysql:host=$servername;dbname=myDB", $username, $password);
  // set the PDO error mode to exception
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  echo "Connected successfully";
} catch(PDOException $e) {
  echo "Connection failed: " . $e->getMessage();
}
?>

참고: 위의 PDO 예제에서는 데이터베이스(myDB)도 지정했습니다 . PDO를 연결하려면 유효한 데이터베이스가 필요합니다. 데이터베이스를 지정하지 않으면 예외가 발생합니다.

팁: PDO의 큰 이점은 데이터베이스 쿼리에서 발생할 수 있는 모든 문제를 처리할 수 있는 예외 클래스가 있다는 것입니다. try{ } 블록 내에서 예외가 발생하면 스크립트는 실행을 중지하고 첫 번째 catch(){ } 블록으로 직접 흐릅니다.


연결 닫기

스크립트가 종료되면 연결이 자동으로 닫힙니다. 전에 연결을 닫으려면 다음을 사용하십시오.

MySQLi 객체 지향:

$conn->close();

MySQLi 절차:

mysqli_close($conn);

PDO:

$conn = null;