VALUES 절의 일부로 PHP 변수를 사용하여 콘텐츠 테이블에 값을 삽입하는 것은 문제가 될 수 있습니다. 문제를 해결하고 올바른 접근 방식을 제공하겠습니다.
MySQL 문에서 PHP 변수를 올바르게 처리하는 것이 중요합니다. 기본 규칙은 준비된 문을 사용하는 것입니다. PHP 변수를 SQL 문의 자리 표시자로 바꾸고 다음 단계를 따르세요.
MySQLi 사용:
<?php $type = 'testing'; $reporter = "John"; $description = "whatever"; $sql = "INSERT INTO contents (type, reporter, description) VALUES ('$type', ?, ?)"; $mysqli->execute_query($sql, [$reporter, $description]); ?>
PDO 사용:
<?php $type = 'testing'; $reporter = "John"; $description = "whatever"; $sql = "INSERT INTO contents (type, reporter, description) VALUES ('$type', ?, ?)"; $stmt = $pdo->prepare($sql); $stmt->execute([$reporter, $description]); ?>
키워드나 식별자(데이터베이스, 테이블 또는 필드 이름)와 같은 쿼리 부분에는 화이트리스트 필터링을 사용하세요. 여기에는 PHP 변수를 미리 정의된 허용 값 목록과 명시적으로 비교하는 작업이 포함됩니다. 변수가 허용된 값과 일치하면 쿼리에 포함해도 안전합니다. 그렇지 않으면 잘못된 입력에 대해 예외를 발생시킵니다.
이러한 지침을 따르면 MySQL 문에서 PHP 변수를 안전하고 효율적으로 처리할 수 있습니다. 데이터 리터럴을 나타내는 변수에 대해 준비된 명령문을 사용하고 식별자에 대해 화이트리스트 필터링을 사용하면 데이터 무결성이 보장되고 주입 공격으로부터 보호됩니다.
위 내용은 MySQL INSERT 문에 PHP 변수를 안전하게 포함하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!