반응형
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를 더 많이 사용
· PDO: 다양한 DB 지원 — 이식성↑
· 둘 다 prepared statement로 SQL 인젝션 방어 가능
· 현대 PHP 프로젝트에서는 PDO를 더 많이 사용
핵심 한 줄 요약
new mysqli(...)MySQL 접속 객체 생성
매개변수(호스트, 유저, 비번, DB명)
connect_error접속 실패 여부 검사
die()실패 시 메시지 출력 + 종료
close()접속 종료 (자원 해제)
vs PDOmysqli는 MySQL 전용, PDO는 범용
현대 권장PDO + prepared statement
반응형
'php' 카테고리의 다른 글
| PHP PDO 예외 처리 — try/catch + setAttribute 완전 정리 (0) | 2026.06.19 |
|---|---|
| PHP PDO — 통합 DB 접속 객체 완전 정리 (0) | 2026.06.19 |
| MySQL CREATE + INSERT — member 테이블 생성과 데이터 삽입 완전 정리 (0) | 2026.06.18 |
| MySQL DB Setting — XAMPP 환경 데이터베이스 초기 설정 완전 정리 (0) | 2026.06.18 |
| PHP 이터레이터 패턴 — 컬렉션을 foreach로 순회 완전 정리 (0) | 2026.06.18 |
왕진 블로그

댓글