MySQL 함수를 PDO로 대체하는 방법
MySQL 함수는 이제 더 이상 사용되지 않으며 향후 PHP 버전에서는 제거될 예정입니다. 대신 MySQLi 또는 PDO_MySQL을 사용해야 합니다.
PDO 구현
PDO는 MySQL 및 MSSQL.
연결:
MySQL:
$dsn = 'mysql:dbname=databasename;host=127.0.0.1'; $dbh = new PDO($dsn, 'dbuser', 'dbpass');
MSSQL:
$dsn = 'sqlsrv:Server=127.0.0.1;Database=databasename'; $dbh = new PDO($dsn, 'dbuser', 'dbpass');
수행 중 쿼리:
PDO는 SQL 주입 취약점을 방지하는 준비된 문을 사용합니다.
$SQL = 'SELECT ID, EMAIL FROM users WHERE user = :username';
쿼리 실행:
준비 및 실행 사용 변수에 대한 쿼리.
$query = $dbh->prepare($SQL); $query->execute([':username' => 'someone']);
결과 가져오기:
결과를 검색하려면 fetch 또는 fetchAll을 사용하세요.
while ($row = $query->fetch()) { echo $row['ID'], $row['EMAIL']; }
예외 처리:
PDO 예외 활성화
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
편의등급:
class PDOConnection { function __construct($dsn, $username, $password) { $this->connection = new PDO($dsn, $username, $password); $this->connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $this->connection->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); } function query($SQL) { return $this->connection->query($SQL); } function prepare($SQL, $params = []) { return $this->connection->prepare($SQL)->execute($params); } }
위 내용은 MySQL 함수에서 PDO_MySQL로 마이그레이션하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!