
PDO::query 함수는 SQL 쿼리를 실행할 때, 에러가 발생하는 경우를 처리하는 방법은 try-catch 블록을 사용하여 예외를 잡는 것입니다.
#hostingforum.kr
php
try {
$stmt = $pdo->query('SELECT * FROM users WHERE id = :id');
$stmt->execute(['id' => 1]);
} catch (PDOException $e) {
echo '에러 메시지: ' . $e->getMessage();
}
PDO::query 함수의 리턴 값은 PDOStatement 객체입니다. 이 객체를 사용하여 쿼리의 결과를 가져올 수 있습니다.
#hostingforum.kr
php
$stmt = $pdo->query('SELECT * FROM users');
$result = $stmt->fetchAll();
print_r($result);
PDO::query 함수는 안전하지 않습니다. SQL 인젝션 공격에 취약할 수 있습니다. PDO::prepare 함수를 사용하는 것이 안전합니다.
PDO::query 함수와 PDO::prepare 함수의 차이는 PDO::query 함수는 SQL 쿼리를 실행할 때, 쿼리문에 변수를 직접 삽입하는 반면, PDO::prepare 함수는 쿼리문과 변수를 분리하여 SQL 인젝션 공격을 방지합니다.
#hostingforum.kr
php
// PDO::query 함수
$stmt = $pdo->query('SELECT * FROM users WHERE id = ' . $_GET['id']);
// PDO::prepare 함수
$stmt = $pdo->prepare('SELECT * FROM users WHERE id = :id');
$stmt->execute(['id' => $_GET['id']]);
PDO::prepare 함수를 사용하는 것이 안전하고 권장되는 방법입니다.
2025-05-14 12:57