[PHP]MySQL 연결

2025. 3. 13. 12:49·Language/PHP

1. PDO(PHP Data Objects)

PDO는 여러 데이터베이스를 지원하는 방식이다.

<?php
/*DSN(Data Source Name) 설정
mysql: 사용하려는 데이터베이스 드라이버(MySQL 사용)
host=localhost: 데이터베이스 서버 주소(로컬 개발 환경이므로 localhost 사용)
dbname=test_db: 연결할 MySQL 데이터베이스명
charset=utf8mb4: 문자 인코딩 방식(이모지 같은 유니코드 문자 지원)*/
$dsn = "mysql:host=localhost;dbname=test_db;charset=utf8mb4";
 
$username = "root"; //MySQL 사용자명
$password = ""; //비밀번호(기본적으로 비어 있음)
 
try {
    //PDO 객체 생성
    $pdo = new PDO($dsn, $username, $password, [
        PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, //오류 처리 방식 설정
        PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, //데이터 가져오는 방식
    ]);
    echo "연결 성공";
} catch(PDOException $e) {
    die("연결 실패: ".$e->getMessage());
}
?>

2. MySQLi(MySQL Improved)

MySQLi는 MySQL 전용으로 만들어진 PHP의 확장 라이브러리이다.

2-1. 절차적 방식

<?php
$servername = "localhost"; //서버 주소(원격이면 IP나 도메인 입력)
$username = "root"; //MySQL 사용자명
$password = ""; //비밀번호(로컬 개발 환경에서는 보통 빈 값)
$database = "test_db"; //사용할 데이터베이스명
 
//MySQL 연결
$db = mysqli_connect($servername, $username, $password, $database);
 
//연결 확인
if(!$db) {
    die("연결 실패: ".mysqli_connect_error());
}
echo "연결 성공";
 
//연결 종료
mysqli_close($db);
?>

2-2. 객체지향 방식

<?php
$servername = "localhost"; //서버 주소
$username = "root"; //MySQL 사용자명
$password = ""; //비밀번호(로컬 환경에서는 빈 값일 수 있음)
$database = "test_db"; //데이터베이스명

//MySQLi 객체 생성 및 연결
$db = new mysqli($servername, $username, $password, $database);

//연결 확인
if($db->connect_error) {
    die("연결 실패: ".$db->connect_error);
}
echo "연결 성공";

//연결 종료
$db->close();
?>

'Language > PHP' 카테고리의 다른 글

[PHP]폼을 이용한 성적 추가  (0) 2025.03.16
[PHP]DB 데이터 테이블에 출력하기  (0) 2025.03.16
[PHP]MySQL 쿼리 실행하기  (0) 2025.03.16
[PHP]서버와의 관계  (1) 2025.03.09
'Language/PHP' 카테고리의 다른 글
  • [PHP]폼을 이용한 성적 추가
  • [PHP]DB 데이터 테이블에 출력하기
  • [PHP]MySQL 쿼리 실행하기
  • [PHP]서버와의 관계
yxxjxxeee
yxxjxxeee
  • yxxjxxeee
    공부 일지
    yxxjxxeee
  • 전체
    오늘
    어제
    • study N
      • Framework
        • Spring
      • Language
        • JavaScript
        • C | C++
        • JAVA
        • PHP
      • CS
        • 네트워크
        • 자료구조
        • 데이터베이스
        • 운영체제
      • DBMS
        • MySQL
      • 코딩테스트 N
        • 백준 N
        • 프로그래머스
        • LeetCode
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 쇼핑몰 제작 프로젝트(PHP)
    • github
  • 공지사항

  • 인기 글

  • 최근 글

  • hELLO Designed By 정상우
    Version v4.10.2
yxxjxxeee
[PHP]MySQL 연결
상단으로

티스토리툴바