PHP와 MySQL을 활용한 동적 웹 애플리케이션 개발
웹 개발의 세계에서 PHP와 MySQL은 매우 중요한 두 가지 기술입니다. 이 블로그 포스트에서는 이 두 기술의 연동 개념과 기본적인 CRUD 작업을 통해 동적 웹 애플리케이션을 어떻게 구축할 수 있는지에 대해 자세히 알아보겠습니다.
1. PHP와 MySQL의 연동 개념
PHP는 서버 사이드 스크립팅 언어로, MySQL은 데이터베이스 관리 시스템입니다. 이 두 가지를 결합하면 웹 애플리케이션에서 사용자 입력을 기반으로 데이터를 처리하고 표시할 수 있습니다. PHP와 MySQL의 연동을 통해 다음과 같은 작업을 수행할 수 있습니다:
- 데이터 삽입: 사용자가 입력한 데이터를 안전하게 데이터베이스에 저장합니다.
- 데이터 조회: 특정 조건에 맞는 데이터를 검색하여 웹 페이지에 표시합니다.
- 데이터 업데이트: 기존 데이터를 수정하여 최신 정보를 유지합니다.
- 데이터 삭제: 더 이상 필요하지 않은 데이터를 제거하여 데이터베이스의 효율성을 높입니다.
2. 기본적인 연결 설정
PHP에서 MySQL과 연결하기 위해서는 mysqli
또는 PDO
(PHP Data Objects) 확장을 사용할 수 있습니다. 여기서는 mysqli
를 사용하는 방법을 살펴보겠습니다.
<?php
// 데이터베이스 정보 설정
$servername = "localhost";
$username = "username"; // 실제 사용자 이름으로 변경하세요.
$password = "password"; // 실제 비밀번호로 변경하세요.
$dbname = "database_name"; // 실제 데이터베이스 이름으로 변경하세요.
// MySQLi 객체 생성 및 연결 시도
$conn = new mysqli($servername, $username, $password, $dbname);
// 연결 확인
if ($conn->connect_error) {
die("연결 실패: " . $conn->connect_error);
}
echo "연결 성공!";
?>
위 코드는 데이터베이스 서버 주소, 사용자 이름, 비밀번호 및 사용할 데이터베이스 이름을 설정하고, new mysqli()
함수를 통해 MySQL 서버와의 연결을 시도합니다.
3. 간단한 CRUD 예제
이제 기본적인 CRUD(Create, Read, Update, Delete) 작업을 수행하는 예제를 살펴보겠습니다.
a. 데이터 삽입 (Create)
사용자로부터 받은 정보를 테이블에 삽입하는 방법은 다음과 같습니다:
$sql = "INSERT INTO users (name, email) VALUES ('홍길동', 'hong@example.com')";
if ($conn->query($sql) === TRUE) {
echo "새 레코드가 추가되었습니다.";
} else {
echo "오류 발생: " . $sql . "<br>" . $conn->error;
}
b. 데이터 조회 (Read)
테이블에서 모든 사용자 정보를 조회하는 예제입니다:
$sql = "SELECT id, name FROM users";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "id: ". $row["id"]. " - 이름: ". $row["name"]. "<br>";
}
} else {
echo "0개의 결과";
}
c. 데이터 업데이트 (Update)
특정 사용자의 이메일 주소를 업데이트하는 방법입니다:
$sql = "UPDATE users SET email='updated@example.com' WHERE name='홍길동'";
if ($conn->query($sql) === TRUE) {
echo "레코드가 성공적으로 업데이트되었습니다.";
} else {
echo "오류 발생: ". $conn->error;
}
d. 데이터 삭제 (Delete)
특정 사용자를 테이블에서 삭제하는 코드입니다:
$sql = "DELETE FROM users WHERE name='홍길동'";
if ($conn->query($sql) === TRUE) {
echo "'홍길동'이(가) 삭제되었습니다.";
} else {
echo "'삭제 오류': ". $conn->error;
}
4. 마무리
PHP와 MySQL의 연동은 동적 웹 애플리케이션 개발의 핵심 요소 중 하나입니다. 위의 간단한 예제를 통해 기본적인 CRUD 작업을 이해했으니, 이제 여러분이 원하는 방식으로 더 복잡한 로직이나 기능들을 구현해 볼 수 있을 것입니다. 웹사이트나 애플리케이션에서 실시간으로 데이터를 관리하고 보여주는 것은 사용자 경험 향상에 큰 도움이 됩니다. 이러한 기술을 활용하여 여러분의 웹 프로젝트를 한층 더 발전시켜 보세요!