"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > MySQL-PHP 코드를 현대화하는 방법: 더 이상 사용되지 않는 `mysql_*` 함수를 준비된 명령문 및 PDO로 교체합니까?

MySQL-PHP 코드를 현대화하는 방법: 더 이상 사용되지 않는 `mysql_*` 함수를 준비된 명령문 및 PDO로 교체합니까?

2024-11-03에 게시됨
검색:772

How to Modernize Your MySQL-PHP Code: Replacing Deprecated `mysql_*` Functions with Prepared Statements and PDO?

더 이상 사용되지 않는 mysql_* 함수로 기존 MySQL-PHP 코드 재작성

PHP가 발전함에 따라 mysql_* 명령을 포함한 특정 기능은 더 이상 사용되지 않습니다. 보안과 안정성을 강화하려면 이러한 명령을 준비된 명령문과 PDO로 바꿔야 합니다.

키 대체:

  • mysql_connect를 PDO::__construct()로 바꾸세요. .
  • mysql_select_db를 PDO 연결 문자열의 데이터베이스 이름 설정으로 바꾸십시오(예: mysql:host=127.0.0.1;dbname=people.

코드 샘플:

 // Old deprecated code
$db = new dbConn('127.0.0.1', 'root', 'pass', 'people', 'animals');

 // New PDO code
$db = new PDO('mysql:host=127.0.0.1;dbname=people;charset=UTF-8', 'root', 'pass');

추가 고려 사항:

  • 생성자와 소멸자: __construct() 및 __destruct() 함수는 연결 및 닫기를 내부적으로 처리하므로 PDO에는 필요하지 않습니다.
  • 데이터베이스 선택: 이제 데이터베이스 선택이 PDO 연결 문자열에 포함됩니다. 연결 문자열에 dbname 매개 변수를 사용하여 원하는 데이터베이스를 지정합니다.

예제 클래스:

다음 예제 클래스는 다음을 사용하여 selectDb 메서드를 다시 작성하는 방법을 보여줍니다. PDO:

class DB
{
    private $pdo;

    public function __construct($host, $db, $user, $pass)
    {
        // Establish PDO connection
        $this->pdo = new PDO("mysql:host=$host;dbname=$db;charset=UTF-8", $user, $pass);
    }

    public function selectDatabase($dbName)
    {
        // No longer required with PDO
    }
}

결론:

더 이상 사용되지 않는 mysql_* 함수를 준비된 명령문 및 PDO로 대체함으로써 개발자는 데이터베이스 상호 작용을 단순화하는 동시에 코드의 보안과 안정성을 강화할 수 있습니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3