PDO MySQL: PDO::ATTR_EMULATE_PREPARES 활성화 또는 비활성화
소개
작업 시 PDO MySQL, 중요한 결정은 활성화할지 비활성화할지 여부입니다. PDO::ATTR_EMULATE_PREPARES. 이 문서에서는 성능 및 보안과 관련된 특정 문제를 기반으로 장단점과 권장 사항을 살펴봅니다.
성능 고려 사항
에뮬레이션 활성화 시(EMULATE_PREPARES = true)
에뮬레이션이 비활성화된 경우(EMULATE_PREPARES = false)
보안 고려 사항
오류 보고
추가 고려 사항
권장 사항
위의 고려 사항을 바탕으로 다음과 같은 권장 사항이 적용됩니다.
연결 기능 예시
이러한 권장 사항을 구현하려면 다음 연결을 사용하는 것이 좋습니다. 함수:
<?php function connect_PDO($settings) { $dbh = new PDO( 'mysql:' . implode(';', $settings), $settings['user'], $settings['pass'], [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, PDO::ATTR_EMULATE_PREPARES => (version_compare($dbh->getAttribute(PDO::ATTR_SERVER_VERSION), '5.1.17', '<')) ] ); return $dbh; }
MySQL 버전에 따라 PDO::ATTR_EMULATE_PREPARES 설정을 수정하면 성능과 보안 간의 최적의 균형을 얻을 수 있습니다.
위 내용은 PDO MySQL의 `PDO::ATTR_EMULATE_PREPARES`: 활성화 또는 비활성화?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!