>백엔드 개발 >PHP 튜토리얼 >PHP 시작하기: 데이터베이스 연결

PHP 시작하기: 데이터베이스 연결

WBOY
WBOY원래의
2023-05-20 11:10:351695검색

PHP는 웹 개발 분야에서 널리 사용되는 일반적으로 사용되는 서버 측 스크립팅 언어입니다. 그 중 데이터베이스와의 상호작용은 PHP의 중요한 응용 시나리오입니다. 이 기사에서는 PHP에서 데이터베이스에 연결하는 방법을 소개합니다.

1. 데이터베이스 연결의 기본 개념

웹 애플리케이션에서 관계형 데이터베이스는 일반적으로 다양한 데이터를 저장하고 관리하는 데 사용됩니다. PHP 애플리케이션에서 데이터베이스 연결은 데이터 추가, 삭제, 수정, 확인 등의 작업을 수행하기 위해 코드를 통해 PHP 애플리케이션과 데이터베이스 간의 연결을 설정하는 것을 의미합니다. 이 프로세스에는 일반적으로 다음 단계가 포함됩니다.

  1. 자신에게 적합한 데이터베이스 선택: 현재 가장 널리 사용되는 데이터베이스에는 MySQL, Oracle, PostgreSQL 등이 포함됩니다. 실제 요구 사항에 따라 가장 적합한 데이터베이스를 선택해야 합니다.
  2. 연결 방법 결정: PHP는 다양한 방법으로 데이터베이스에 연결할 수 있습니다. 이 기사에서는 주로 일반적으로 사용되는 두 가지 데이터베이스 연결 방법인 MySQLi와 PDO를 소개합니다.
  3. 연결 매개변수 결정: 각 연결 방법에는 호스트 주소, 사용자 이름, 비밀번호, 데이터베이스 이름 등과 같은 연결에 필요한 매개변수를 지정해야 합니다.

2. MySQLi 연결

MySQLi는 MySQL 데이터베이스와 상호 작용하기 위해 PHP에서 공식적으로 권장하는 확장 프로그램입니다. 새로운 버전의 PHP에는 기본적으로 MySQLi 확장이 설치되어 있습니다.

  1. 연결 설정

MySQLi는 MySQL 데이터베이스를 운영하기 위한 mysqli 클래스를 제공합니다. 먼저, mysqli 클래스의 생성자를 통해 데이터베이스와 연결을 설정해야 합니다. 일반적으로 사용되는 생성자 매개변수는 다음과 같습니다.

  • host: 서버 주소, 기본값은 localhost입니다.
  • 사용자 이름: 사용자 이름.
  • 비밀번호: 비밀번호.
  • dbname: 기본적으로 연결할 데이터베이스 이름입니다.

샘플 코드는 다음과 같습니다.

//连接数据库
$mysqli = new mysqli('localhost', 'username', 'password', 'dbname');
//错误检查
if(mysqli_connect_errno()) {
    printf("Connect failed: %s
", mysqli_connect_error());
    exit();
}
  1. SQL 문 실행

연결에 성공한 후 다양한 SQL 문을 실행할 수 있습니다. MySQLi는 쿼리, 준비, 바인딩_파라미터, 실행, 가져오기 등과 같은 SQL 문을 실행하는 여러 가지 방법을 제공합니다. 그 중 쿼리 메소드는 간단한 SQL 문을 실행하고 쿼리 결과를 반환하는 데 사용됩니다. 샘플 코드는 다음과 같습니다.

//查询语句
$query = "SELECT * FROM users";
//执行查询
$result = $mysqli->query($query);
//遍历结果
while ($row = $result->fetch_assoc()) {
    echo $row['username'] . '<br />';
}
  1. Connect the Connection

모든 데이터베이스 작업이 완료된 후 데이터베이스 연결을 닫아야 합니다.

//关闭连接
$mysqli->close();

2. PDO 연결

PDO(PHP Data Objects)는 PHP에서 제공하는 범용 객체 기반 데이터베이스 작업 방법으로, MySQL과 같은 관계형 데이터베이스와 상호 작용할 수 있을 뿐만 아니라 비관계형 데이터베이스도 지원합니다.

  1. 연결 설정

PDO는 PDO 개체를 통해 데이터베이스에 대한 연결을 설정합니다. 일반적으로 사용되는 생성자 매개변수는 다음과 같습니다.

  • dsn: 데이터 소스 이름, 데이터베이스 유형 식별, 호스트 주소, 데이터베이스 이름, 문자 집합 및 기타 정보.
  • 사용자 이름: 사용자 이름.
  • 비밀번호: 비밀번호.
    샘플 코드는 다음과 같습니다.
//数据源名称
$dsn = 'mysql:host=localhost;port=3306;dbname=test;charset=utf8';
//连接数据库
try {
    $pdo = new PDO($dsn, 'username', 'password');
    //设置错误模式
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
 } catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}
  1. SQL 문 실행

PDO는 SQL 문을 전처리하고 SQL 주입 공격을 방지하며 실행 효율성을 향상시킬 수 있습니다. 준비된 문은 일반적으로 세 단계로 구성됩니다.

  1. 준비된 문을 준비합니다.
  2. 매개변수 바인딩.
  3. 준비된 명령문을 실행합니다.

샘플 코드는 다음과 같습니다.

//预处理语句
$stmt = $pdo->prepare("SELECT * FROM users WHERE id=:id");
//绑定参数
$id = 1;
$stmt->bindParam(':id', $id, PDO::PARAM_INT);
//执行预处理语句
$stmt->execute();
//遍历结果
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    echo $row['username'] . '<br />';
}
  1. Connect the Connection

모든 데이터베이스 작업이 완료된 후에는 데이터베이스 연결을 닫아야 합니다.

//关闭连接
$pdo = null;

3. 제안 및 주의사항

  1. 다양한 유형의 데이터베이스를 지원하고 더 나은 코드 가독성과 보안을 제공하므로 PDO를 사용하여 데이터베이스에 연결하는 것이 좋습니다.
  2. SQL 주입 공격을 방지하고 실행 효율성을 높이기 위해 전처리된 SQL 문을 사용하는 것이 좋습니다.
  3. 데이터베이스 연결 보안에 주의를 기울이고 사용자 이름 및 비밀번호와 같은 중요한 정보를 코드에 일반 텍스트로 저장하지 않도록 하세요.
  4. 자원 낭비와 보안 위험을 피하기 위해 데이터베이스 연결을 제때에 닫는 데 주의하세요.

요약: 이 기사에서는 PHP에서 MySQL 데이터베이스와 상호 작용하는 두 가지 일반적인 방법, 즉 MySQLi와 PDO를 소개합니다. 이 글의 소개를 통해 독자들은 MySQL 데이터베이스와 연결을 설정하고 다양한 SQL 문을 실행하는 방법을 배울 수 있습니다. 실제 개발에서는 애플리케이션의 보안성, 유지보수성, 확장성을 보장하기 위해 PDO를 사용하여 MySQL 데이터베이스에 연결하고 준비된 문을 사용하여 SQL 문을 실행하는 것이 좋습니다.

위 내용은 PHP 시작하기: 데이터베이스 연결의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.