PHP에서는 prepare 메소드를 사용하여 PDO 매개변수화된 쿼리를 수행할 수 있습니다. 이 메소드는 "prepare('SELECT login_oid FROMlogged in WHERE user_id=..."와 같은 구문을 사용하여 PDOStatement 객체를 반환합니다.
이 문서의 작업 환경: Windows 7 시스템, PHP7.1, Dell G3 컴퓨터
PDO 매개변수 쿼리를 구현하는 방법
PDO 매개변수 쿼리 prepare() php는 SQL 삽입을 방지합니다
PDO의 매개변수 쿼리 주로 prepare( ) 메소드를 사용하며, 이 메소드는 SQL 문인 PDOStatement 객체를 반환합니다(이때 SQL 문은 컴파일만 되고 실행은 되지 않습니다. PDOStatement에서 메소드를 호출하면 다음 예와 같이 SQL 문이 실행됩니다.
$sm = $db->prepare('SELECT login_oid FROM logined WHERE user_id=:user_id;'); $sm->bindValue(':user_id', $user_id, PDO::PARAM_INT); $sm -> execute();
execute()가 실행되기 전에 findValue() 또는 binParam() 메소드를 호출하여 PDOStatement에서 지정한 매개변수를 대체할 수 있습니다. 이전에 준비된 SQL 문에 매개변수를 지정하는 방법은 ':name'과 '?' 두 가지가 있는데, 위 코드에서는 전자가 사용되었고, 후자는
$sm = $db->prepare('SELECT * FROM fruit WHERE calories < ?;'); $sm->bindValue(1, $calories, PDO::PARAM_INT); $sm->execute();
bindValue() 3개가 있습니다. 매개변수 중 첫 번째는 SQL 문의 어떤 매개변수를 대체할지 지정하고, 두 번째는 대체를 지정합니다. 값 다음으로, 세 번째는 값의 유형을 지정합니다. 유형 대응은 다음과 같습니다.
PDO::PARAM_BOOL
Boolean 유형.
PDO::PARAM_NULL
NULL 유형
PDO::PARAM_INT
정수 유형
PDO::PARAM_STR
CHAR, VARCHAR, 문자열과 같은 문자열 유형
PDO::PARAM_LOB
파일 등의 리소스 클래스 대형 개체
PDO::PARAM_STMT
모름
PDO::PARAM_INPUT_OUTPUT
이것 같습니다. 확장된 유형이 되세요
실수 유형이 제공되지 않는다는 점은 매우 놀랍습니다.
execute() 메소드에 대해 이야기해 보겠습니다. 매개변수 대체도 가능하지만 모든 값의 유형이 변경됩니다.
$sm = $db->prepare('SELECT * FROM fruit WHERE calories < ?;'); $sm->execute(array($calories));
다중 매개변수 대체는 다음과 같습니다
$sm = $db->prepare('SELECT * FROM fruit WHERE calories < ?, id < ?;'); $sm->execute(array($calories, $user_id));
추천 학습: "PHP Video Tutorial"
위 내용은 PHP PDO 매개변수화된 쿼리를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!