본문 바로가기

비개발자의 개발 일지

현장 팀장에서 수출 ERP까지 — AI와 함께 시스템을 만든 기록

시리즈 보기
php

PHP mysqli — MySQL 접속 객체 + 오류 처리 완전 정리

by 왕진 2026. 6. 19.
반응형

 

 

Web Development · PHP mysqli

PHP mysqli —
MySQL 접속의 객체지향 인터페이스

new mysqli + connect_error 검사 + close()
시작 오늘 분석할 코드
<?php $mysqli = new mysqli('localhost', 'root', '', 'sampledb'); if($mysqli->connect_error){ die('Connect Error:('.$mysqli->connect_errno.') '.$mysqli->connect_error); } print 'mysqli 클래스를 통해 접속이 성공하였습니다.'; // DB 처리 ... $mysqli->close(); ?>

1 mysqli 생성자 매개변수
new mysqli(호스트, 사용자, 비밀번호, DB이름) // ↑ ↑ ↑ ↑ // localhost root "" sampledb

2 접속 오류 검사
if ($mysqli->connect_error) { die('...'); // 오류 메시지 출력 후 즉시 종료 }

connect_error가 비어있지 않으면 접속 실패. die로 즉시 중단.


3 작업 후 close()

DB 연결은 자원이다. 사용 후 명시적으로 닫는 게 권장. (PHP 스크립트 종료 시 자동으로 닫히긴 함)


 

반응형

 

4 mysqli vs PDO
· mysqli: MySQL 전용 — 빠르지만 다른 DB로 못 옮김
· PDO: 다양한 DB 지원 — 이식성↑
· 둘 다 prepared statement로 SQL 인젝션 방어 가능
· 현대 PHP 프로젝트에서는 PDO를 더 많이 사용

핵심 한 줄 요약

new mysqli(...)MySQL 접속 객체 생성
매개변수(호스트, 유저, 비번, DB명)
connect_error접속 실패 여부 검사
die()실패 시 메시지 출력 + 종료
close()접속 종료 (자원 해제)
vs PDOmysqli는 MySQL 전용, PDO는 범용
현대 권장PDO + prepared statement
반응형

댓글