PDO(PHP Data Objects)는 PHP에서 DB에 안전하고 일관되게 접속할 수 있도록 도와주는 객체 지향 방식의 DB 연결 인터페이스입니다.
MySQL, PostgreSQL, SQLite 등 여러 DB를 동일한 방식으로 다룰 수 있습니다.
✅ 기본 사용 예
$pdo = new PDO("mysql:host=localhost;dbname=test", "user", "pass", [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
]);
$stmt = $pdo->prepare("SELECT * FROM users WHERE id = :id");
$stmt->execute(['id' => 1]);
$user = $stmt->fetch();
✅ 리스트 가져오기
$pdo = new PDO("mysql:host=localhost;dbname=test", "user", "pass", [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC
]);
$stmt = $pdo->prepare("SELECT * FROM users LIMIT 10");
$stmt->execute();
$users = $stmt->fetchAll();
✅ 아이템 넣기
$sql = 'INSERT INTO users (name, email) VALUES (:name, :email)';
$stmt = $pdo->prepare($sql);
// 2) 실행
$stmt->execute([
':name' => $name, // ex) "Alice"
':email' => $email, // ex) "alice@example.com"
]);
// 3) 결과
$newId = $pdo->lastInsertId();
✅ 업데이트
$sql = 'UPDATE users SET name = :name, email = :email WHERE id = :id';
$stmt = $pdo->prepare($sql);
// 2) 실행
$stmt->execute([
':name' => $name, // 예: "Bob"
':email' => $email, // 예: "bob@example.com"
':id' => $id // 예: 1
]);
// 3) 결과
$affected = $stmt->rowCount(); // 영향을 받은 행 수
'개발 > PHP' 카테고리의 다른 글
phpMyAdmin 로그인시 아무런 메시지 오류 없이 로그인 화면 돌아갈경우 (0) | 2025.06.02 |
---|---|
PHP 에러 출력 (0) | 2022.04.14 |
php include php 외부 php 파일 불러오기 (0) | 2015.04.30 |
[PHP] 자주 사용하는 서버 변수. (0) | 2011.09.20 |
[PHP]file_get_contents() 함수 대체하기. (9) | 2011.07.11 |