>백엔드 개발 >PHP 문제 >PHP 전처리 란 무엇입니까?

PHP 전처리 란 무엇입니까?

尚
원래의
2019-10-30 10:44:233263검색

PHP 전처리 란 무엇입니까?

PHP 전처리를 실행하려는 SQL의 컴파일된 템플릿으로 생각할 수 있으며, 이는 변수 매개변수를 사용하여 사용자 정의할 수 있습니다.

PHP 전처리의 이점:

1. 쿼리는 한 번만 구문 분석(또는 전처리)하면 되지만 동일하거나 다른 매개변수를 사용하여 여러 번 실행할 수 있습니다. 쿼리가 준비되면 데이터베이스는 쿼리 실행 계획을 분석, 컴파일 및 최적화합니다. 복잡한 쿼리의 경우 이 프로세스에 오랜 시간이 걸리며, 동일한 쿼리를 다른 매개변수로 여러 번 반복해야 하는 경우 이 프로세스로 인해 애플리케이션 속도가 크게 느려집니다. 준비된 문을 사용하면 반복적인 분석/컴파일/최적화 주기를 피할 수 있습니다. 즉, 준비된 명령문은
때문에 더 적은 리소스를 사용하고 더 빠르게 실행됩니다.

2. 준비된 명령문에 제공된 매개변수는 따옴표로 묶을 필요가 없으며 드라이버가 자동으로 처리합니다. 애플리케이션이 준비된 명령문만 사용하는 경우 SQL 주입이 발생하지 않는다고 확신할 수 있습니다. (그러나 쿼리의 다른 부분이 이스케이프되지 않은 입력으로 구성되면 여전히 SQL 주입 위험이 있습니다.)

Prepared 문의 작동 원리는 다음과 같습니다.

1. 전처리: SQL 문 템플릿을 생성하여 데이터베이스로 보냅니다. 예약된 값은 "?"라는 매개변수로 표시됩니다. 예:

INSERT INTO MyGuests (firstname, lastname, email) VALUES(?, ?, ?)

2. SQL 문 템플릿에 대한 데이터베이스 구문 분석, 컴파일, 쿼리 최적화 및 결과를 출력하지 않고 저장합니다.

3. 실행: 마지막으로 애플리케이션 바인딩 값을 매개변수("?" 표시)에 전달하면 데이터베이스가 해당 명령문을 실행합니다. 매개변수 값이 다른 경우 애플리케이션은 해당 명령문을 여러 번 실행할 수 있습니다.

위 내용은 PHP 전처리 란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.