반응형
Web Development · PHP PDO
PHP PDO —
여러 DB를 한 인터페이스로 다루는 표준 클래스
DSN 문자열 한 줄로 접속
시작 오늘 분석할 코드
<?php $pdo = new PDO('mysql:host=localhost;dbname=sampledb;charset=utf8', 'root', ''); print 'PDO 클래스를 통해 접속이 성공하였습니다.'; // DB 처리 ... $pdo = null; // 접속 종료 ?>
1 PDO란?
PDO (PHP Data Objects)는 PHP 5.1+에 도입된 DB 추상화 계층. MySQL·PostgreSQL·SQLite 등 다양한 DB를 같은 인터페이스로 다룰 수 있다.
2 DSN 문자열
'mysql:host=localhost;dbname=sampledb;charset=utf8' ↑ ↑ ↑ ↑ 드라이버 호스트 DB명 인코딩
DSN(Data Source Name)은 접속 정보를 한 문자열로 담은 형식. ;로 구분된 key=value 쌍.
3 다른 DB도 같은 패턴
// MySQL new PDO('mysql:host=localhost;dbname=sampledb', 'user', 'pass'); // PostgreSQL new PDO('pgsql:host=localhost;dbname=sampledb', 'user', 'pass'); // SQLite new PDO('sqlite:/path/to/db.sqlite');
PHP 코드의 나머지는 거의 같다 — DB 변경 시 DSN만 수정.
반응형
4 접속 종료 — null 대입
$pdo = null;
PDO에는 close() 메서드가 없다. 변수에 null 대입으로 객체 참조를 끊으면 접속이 종료된다.
5 charset=utf8 vs utf8mb4
학습용 코드라
utf8이지만, 실무에서는 charset=utf8mb4가 권장. 이모지·확장 문자까지 안전하게 처리.핵심 한 줄 요약
PDOPHP의 통합 DB 접근 인터페이스
DSN"드라이버:host=...;dbname=..." 형식
생성자new PDO(DSN, 유저, 비번)
접속 종료$pdo = null
vs mysqliPDO는 다양한 DB, mysqli는 MySQL 전용
현대 권장PDO + prepared statement
utf8mb4실무 권장 인코딩
반응형
'php' 카테고리의 다른 글
| PHP PDO Prepared Statement — bindValue로 SQL 인젝션 차단 완전 정리 (0) | 2026.06.19 |
|---|---|
| PHP PDO 예외 처리 — try/catch + setAttribute 완전 정리 (0) | 2026.06.19 |
| PHP mysqli — MySQL 접속 객체 + 오류 처리 완전 정리 (0) | 2026.06.19 |
| MySQL CREATE + INSERT — member 테이블 생성과 데이터 삽입 완전 정리 (0) | 2026.06.18 |
| MySQL DB Setting — XAMPP 환경 데이터베이스 초기 설정 완전 정리 (0) | 2026.06.18 |
왕진 블로그

댓글