PHP로 MySQL 데이터베이스에 연결하는 예제
PHP에서 MySQL 서버에 접속하려면 연결 함수에 호스트, 사용자 이름, 비밀번호를 전달하면 됩니다. 아래 예제는 사용자 'guest'와 비밀번호 'guest123'을 사용해 MySQL 데이터베이스에 연결하는 기본적인 스크립트입니다.
<html>
<head>
<title>Connecting MySQL Server</title>
</head>
<body>
<?php
$dbhost = 'localhost:3306';
$dbuser = 'guest';
$dbpass = 'guest123';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn ) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($conn);
?>
</body>
</html>
코드 동작 방식
- $dbhost : 접속할 MySQL 서버의 주소입니다. 여기서는 로컬 호스트의 기본 포트인 3306을 지정했습니다.
- $dbuser, $dbpass : 데이터베이스 인증에 사용되는 사용자 이름과 비밀번호입니다.
- mysql_connect() : 전달된 정보를 바탕으로 MySQL 서버와의 연결을 시도하고, 성공 시 연결 리소스를 반환합니다.
- die() : 연결에 실패한 경우
mysql_error()가 반환한 오류 메시지와 함께 스크립트 실행을 즉시 중단합니다. - mysql_close() : 작업이 끝나면 열려 있던 데이터베이스 연결을 명시적으로 닫아 리소스를 해제합니다.
참고: 최신 PHP 환경에서는 mysqli 또는 PDO 사용 권장
위 예제에 사용된 mysql_* 함수군은 PHP 5.5부터 지원 중단(deprecated)되었으며, PHP 7부터는 완전히 제거되었습니다. 따라서 현재 프로젝트에서는 mysqli 확장 또는 PDO(PHP Data Objects)를 사용하는 것이 좋습니다.
예를 들어 위 코드를 mysqli 방식으로 바꾸면 다음과 같습니다.
<?php
$conn = mysqli_connect('localhost', 'guest', 'guest123');
if (!$conn) {
die('Could not connect: ' . mysqli_connect_error());
}
echo 'Connected successfully';
mysqli_close($conn);
?>
mysqli는 절차적(procedural) 방식과 객체 지향(OOP) 방식을 모두 지원하며, prepared statement를 통한 SQL 인젝션 방어 등 더 강력한 보안 기능을 제공합니다.