Skip to content
PHP

PHP의 PDO 데이터베이스 쿼리

PHP에서 PDO로 안전하게 준비된 문장 연결 및 실행.

#pdo#database#intermediate

Code

php
<?php

// PDO connection
$pdo = new PDO("mysql:host=localhost;dbname=app", "user", "pass");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

// Prepared statement (safe from SQL injection)
$stmt = $pdo->prepare("SELECT id, name FROM users WHERE age > :age");
$stmt->execute(["age" => 18]);
$users = $stmt->fetchAll(PDO::FETCH_ASSOC);

// Insert
$stmt = $pdo->prepare("INSERT INTO users (name, email) VALUES (?, ?)");
$stmt->execute(["Alice", "[email protected]"]);
echo $pdo->lastInsertId();

// Update
$stmt = $pdo->prepare("UPDATE users SET name = :name WHERE id = :id");
$stmt->execute(["name" => "Bob", "id" => 1]);

// Transaction
try {
    $pdo->beginTransaction();
    $pdo->exec("DELETE FROM orders WHERE id = 1");
    $pdo->commit();
} catch (Exception $e) {
    $pdo->rollBack();
    echo "Failed: " . $e->getMessage();
}