[php] PDO 바인딩 매개변수

보통, 쿼리를 작성할 때 사용자 입력을 직접 쿼리에 삽입하는 방식은 안전하지 않습니다. 대신에, PDO 바인딩 매개변수를 사용하여 사용자 입력 값을 쿼리에 동적으로 삽입할 수 있습니다. 이는 사용자 입력을 안전하게 이스케이핑하고 쿼리에 전달할 수 있습니다.

예를 들어, 사용자 입력을 받아들여 SELECT 쿼리를 실행하는 PHP 코드가 있다고 가정해 보겠습니다.

$userInput = $_POST['username'];
$stmt = $pdo->prepare('SELECT * FROM users WHERE username = :username');
$stmt->bindParam(':username', $userInput);
$stmt->execute();

위의 코드에서, :username은 바인딩 매개변수로, 사용자 입력에 직접 값을 삽입하지 않고 대신 bindParam() 메서드를 사용하여 바인딩합니다. 이를 통해 PDO가 입력을 안전하게 처리하고 SQL Injection을 방지할 수 있습니다.

이와 같이 PDO 바인딩 매개변수를 사용하면 데이터베이스 처리 시 보안에 더 많은 신뢰성을 부여할 수 있습니다.