> 데이터 베이스 > MySQL 튜토리얼 > PDO에 대한 MySQL 기능: 안전하고 현대적인 접근 방식?

PDO에 대한 MySQL 기능: 안전하고 현대적인 접근 방식?

Linda Hamilton
풀어 주다: 2025-01-10 09:12:40
원래의
1004명이 탐색했습니다.

MySQL Functions to PDO: A Secure and Modern Approach?

MySQL 함수를 PDO로 변환

전환하는 이유는 무엇인가요?

MySQL 기능은 오래된 아키텍처, 보안 기능 부족, 전역 상태 종속성으로 인해 더 이상 사용되지 않습니다. PDO(PHP Data Objects)는 데이터베이스 작업을 위한 현대적이고 안전한 객체 지향 대안을 제공합니다.

데이터베이스에 연결

MySQL:

<code class="language-php">$dsn = 'mysql:dbname=databasename;host=127.0.0.1';
$user = 'dbuser';
$password = 'dbpass';

$dbh = new PDO($dsn, $user, $password);</code>
로그인 후 복사

MSSQL:

<code class="language-php">$dsn = 'sqlsrv:Server=127.0.0.1;Database=databasename';
$user = 'dbuser';
$password = 'dbpass';

$dbh = new PDO($dsn, $user, $password);</code>
로그인 후 복사

쿼리 실행

PDO는 준비된 문을 사용하여 SQL 삽입을 방지합니다.

이름이 지정된 변수 사용:

<code class="language-php">$SQL = 'SELECT ID, EMAIL FROM users WHERE user=:username';
$stmt = $dbh->prepare($SQL);
$stmt->execute(['username' => $username]);</code>
로그인 후 복사

색인 변수 사용:

<code class="language-php">$SQL = 'SELECT ID, EMAIL FROM users WHERE user=?';
$stmt = $dbh->prepare($SQL);
$stmt->execute([$username]);</code>
로그인 후 복사

결과 얻기

fetchAll 사용:

<code class="language-php">$rows = $stmt->fetchAll();</code>
로그인 후 복사

가져오기 사용:

<code class="language-php">while ($row = $stmt->fetch()) {
  echo $row['ID'], $row['EMAIL'];
}</code>
로그인 후 복사

위 내용은 PDO에 대한 MySQL 기능: 안전하고 현대적인 접근 방식?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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