소개
PHP용 mysql 확장은 더 이상 사용되지 않으며 향후 제거될 예정입니다. . 대안으로, MySQL 및 기타 데이터베이스에 연결하려면 PDO(PHP Data Objects) 확장을 권장합니다. 이 문서에서는 mysql 기능을 PDO로 대체하는 방법에 대한 가이드를 제공합니다.
PDO로 변환해야 하는 이유
연결 중 MySQL
$dsn = 'mysql:dbname=databasename;host=127.0.0.1'; $user = 'dbuser'; $password = 'dbpass'; $connection = new PDO($dsn, $user, $password); $connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
MSSQL에 연결
$dsn = 'sqlsrv:Server=127.0.0.1;Database=databasename'; $user = 'dbuser'; $password = 'dbpass'; $connection = new PDO($dsn, $user, $password); $connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
쿼리 수행
PDO는 준비된 문을 사용하여 다음을 수행합니다. SQL 주입을 피하세요 취약점.
$SQL = 'SELECT ID, EMAIL FROM users WHERE name = :username'; $stmt = $connection->prepare($SQL); $stmt->execute([':username' => 'someone']);
$SQL = 'SELECT ID, EMAIL FROM users WHERE name = ?'; $stmt = $connection->prepare($SQL); $stmt->execute(['someone']);
결과 가져오기
$row = $stmt->fetch(PDO::FETCH_ASSOC);
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
예제 클래스
간단한 PDO 일반적인 작업을 캡슐화하는 연결 클래스:
class PdoConnection { public function __construct($dsn, $user, $password, $options = []) { // ... initialize connection } public function query($sql) { // ... execute query and return result } public function prepare($sql, $params = []) { // ... execute prepared query and return result } }
위 내용은 보안 및 성능 향상을 위해 MySQL 기능을 PDO로 어떻게 대체할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!