MySQL 함수에서 PDO로 마이그레이션하는 방법
소개
PHP 5.5.0 MySQL 기능이 더 이상 사용되지 않음을 표시하므로 PDO 또는 데이터베이스 작업을 위한 MySQLi. 이 문서에서는 MySQL 및 MSSQL 서버를 모두 포함하여 코드를 PDO로 마이그레이션하기 위한 가이드를 제공합니다.
MySQL 함수가 더 이상 사용되지 않는 이유
MySQL 함수는 오래되었으며 보안에 취약합니다. 취약점으로 인해 최신 PHP 애플리케이션에 적합하지 않습니다. 편의 기능이 부족하고 안전하게 적용하기 어렵습니다. PDO 및 MySQL은 이러한 문제를 해결하고 상당한 개선을 제공합니다.
PDO를 사용하여 MySQL에 연결
다음을 사용하여 PDO 인스턴스를 생성합니다. DSN(데이터 소스 이름):
PDO로 MSSQL에 연결
DSN(데이터 소스 이름)을 사용하여 PDO 인스턴스를 생성합니다:
Prepared를 사용하여 쿼리 수행 명령문
PDO는 SQL 쿼리에 삽입된 사용자 입력을 삭제하여 SQL 주입을 방지하는 준비된 명령문을 사용합니다. 명령문을 준비하려면:
->prepare()를 사용하여 준비된 명령문을 만듭니다.
->bindValue()를 사용하여 준비된 문에 매개변수를 바인딩합니다.
쿼리 실행
->를 사용하여 준비된 문을 실행합니다. 아무런 전달 없이 실행() 인수:
직접 쿼리의 경우 ->query():
결과 가져오기
fetch() 가져오기 결과 세트의 단일 행. fetchAll()은 모든 행을 배열로 가져옵니다.
PDO용 샘플 클래스
class pdoConnection { // ... public function prepare($SQL, $params = array()) { $result = $this->connection->prepare($SQL); $result->execute($params); return $result; } } // Usage: $SQL = 'SELECT ID, EMAIL FROM users WHERE user = :username'; $result = $db->prepare($SQL, array(":username" => 'someone'));
결론
MySQL 함수에서 PDO로 마이그레이션하려면 일부 코드 수정이 필요하지만 데이터베이스 보안을 크게 향상시키고 향후 PHP 버전에 맞게 애플리케이션을 준비합니다. 제공된 코드 샘플과 샘플 클래스는 원활한 전환에 도움이 됩니다.위 내용은 MySQL 함수에서 PDO로 마이그레이션해야 하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!