> 데이터 베이스 > MySQL 튜토리얼 > PDO 및 준비된 명령문을 사용하여 기존 MySQL-PHP 코드를 현대화하려면 어떻게 해야 합니까?

PDO 및 준비된 명령문을 사용하여 기존 MySQL-PHP 코드를 현대화하려면 어떻게 해야 합니까?

Mary-Kate Olsen
풀어 주다: 2024-12-01 01:16:10
원래의
319명이 탐색했습니다.

How Can I Modernize My Legacy MySQL-PHP Code Using PDO and Prepared Statements?

지원 중단으로 기존 MySQL-PHP 코드 재작성:

PHP 개발 영역에서 mysql_* 함수는 더 이상 사용되지 않으므로 보다 안전한 준비된 명령문 및 PDO로 교체합니다. 이 가이드에서는 이러한 최신 접근 방식을 사용하여 레거시 코드를 효과적으로 다시 작성하는 방법을 구체적으로 살펴봅니다.

핵심 개념:

  • PDO: PDO(PHP Data Objects)는 데이터베이스에 대한 개선되고 표준화된 인터페이스를 제공합니다.
  • 준비된 문: 준비된 문은 SQL 삽입 공격을 방지하여 보안을 강화합니다. 악의적인 입력으로 인해 데이터베이스가 손상될 위험 없이 동적 쿼리 실행이 가능합니다.

코드 재작성:

제공된 샘플 코드를 살펴보겠습니다.

1. 연결 구성:

기존:

$db = new dbConn('127.0.0.1', 'root', 'pass', 'people', 'animals');
로그인 후 복사

신규:

$db = new PDO('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass');
로그인 후 복사
  • The PDO 생성자는 연결 정보를 단일 연결 문자열로 결합하므로 추가 작업이 필요하지 않습니다. 구성

2. 데이터베이스 선택:

기존:

public function selectDb($database)
로그인 후 복사

신규: 해당 없음

  • PDO 더 이상 명시적인 데이터베이스 선택이 필요하지 않습니다. 모든 데이터베이스 작업은 연결 문자열에 지정된 데이터베이스의 컨텍스트 내에서 수행됩니다.

3. 생성자와 소멸자 제거:

  • PDO는 기본적으로 생성자와 소멸자를 제공합니다. 레거시 코드에서 수동으로 구현된 버전은 더 이상 필요하지 않습니다.

개정 코드:

수정된 결과 코드는 공개 함수 connect()만 유지합니다. PDO 생성자를 사용하여 데이터베이스에 연결하도록 수정해야 하는 메서드:

public function connect()
{
    $this->conn = new PDO('mysql:host=' . $this->server . ';dbname=' . $this->db_people . ';charset=UTF-8', $this->user, $this->pass);
}
로그인 후 복사

추가 참고:

  • 사용자 정의 클래스를 사용하여 PDO의 기능을 확장하려는 경우 PDO 자체에서 상속할 수 있습니다.
  • 준비된 명령문은 보안 강화에 중요하며 반드시 준비해야 합니다. 활용 가능하세요.
  • PDO에 대한 자세한 내용은 PHP 매뉴얼을 참고하고 준비하세요.

이러한 지침을 따르면 기존 코드를 효과적으로 다시 작성하여 최신 PHP 개발 방식을 준수할 수 있습니다.

위 내용은 PDO 및 준비된 명령문을 사용하여 기존 MySQL-PHP 코드를 현대화하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿