[PHP] PHP 입력, 수정, 삭제, 저장의 예
관리자
2024-10-05 14:56
144
0
본문
여기 PHP를 이용한 간단한 CRUD (Create, Read, Update, Delete) 예제입니다. 이 예제는 MySQL 데이터베이스와 연결되어, 사용자 정보를 관리하는 간단한 프로그램을 구현한 것입니다.
1. 데이터베이스 설정
우선 데이터베이스에 users
테이블을 생성합니다.
CREATE DATABASE testdb;
USE testdb;
CREATE TABLE users (
id INT(11) AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL
);
2. 데이터베이스 연결 (db.php)
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "testdb";
// 데이터베이스 연결
$conn = new mysqli($servername, $username, $password, $dbname);
// 연결 확인
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
?>
3. Create (데이터 추가)
<?php
include 'db.php';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = $_POST['name'];
$email = $_POST['email'];
$sql = "INSERT INTO users (name, email) VALUES ('$name', '$email')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
}
?>
<form method="POST" action="">
Name: <input type="text" name="name" required><br>
Email: <input type="email" name="email" required><br>
<button type="submit">Create</button>
</form>
4. Read (데이터 조회)
<?php
include 'db.php';
$sql = "SELECT id, name, email FROM users";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "ID: " . $row["id"]. " - Name: " . $row["name"]. " - Email: " . $row["email"]. "<br>";
}
} else {
echo "0 results";
}
?>
5. Update (데이터 수정)
<?php
include 'db.php';
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$id = $_POST['id'];
$name = $_POST['name'];
$email = $_POST['email'];
$sql = "UPDATE users SET name='$name', email='$email' WHERE id=$id";
if ($conn->query($sql) === TRUE) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . $conn->error;
}
}
$id = $_GET['id'];
$sql = "SELECT * FROM users WHERE id=$id";
$result = $conn->query($sql);
$row = $result->fetch_assoc();
?>
<form method="POST" action="">
<input type="hidden" name="id" value="<?php echo $row['id']; ?>">
Name: <input type="text" name="name" value="<?php echo $row['name']; ?>" required><br>
Email: <input type="email" name="email" value="<?php echo $row['email']; ?>" required><br>
<button type="submit">Update</button>
</form>
6. Delete (데이터 삭제)
<?php
include 'db.php';
$id = $_GET['id'];
$sql = "DELETE FROM users WHERE id=$id";
if ($conn->query($sql) === TRUE) {
echo "Record deleted successfully";
} else {
echo "Error deleting record: " . $conn->error;
}
?>
이 예제를 통해 CRUD 작업을 간단하게 구현할 수 있습니다. 물론, 실제 환경에서는 SQL 인젝션과 같은 보안 문제를 방지하기 위해 Prepared Statements 등을 사용하는 것이 좋습니다.
댓글목록0
댓글 포인트 안내