3.3.3 UPDATE

약 6분

본문 듣기
읽기 설정

글자 크기

줄 간격

글꼴

3.3.3 UPDATE

이번 장에서는 데이터베이스에서 데이터를 수정하는 UPDATE 기능을 구현합니다. UPDATE SQL 문을 사용하여 특정 조건에 맞는 레코드를 수정할 수 있으며, 이는 사용자 정보를 변경하거나 게시글을 수정하는데 필수적입니다. 웹 개발 흐름에서는 사용자가 웹사이트를 통해 정보를 입력하고, PHP가 이 요청을 받아 데이터베이스에 필요한 데이터를 업데이트한 후 결과를 다시 웹 페이지에 반영합니다.

UPDATE 문은 다음과 같은 구조를 가집니다:

UPDATE 테이블명 SET 열1 = 값1, 열2 = 값2 WHERE 조건;

예제: 사용자 정보 업데이트

사용자 정보를 업데이트하는 간단한 기능을 구현해보겠습니다. 사용자 테이블에 id, name, email 열이 있다고 가정합니다. 사용자가 자주 변경하는 정보를 업데이트할 수 있도록 폼을 만들어 PHP 스크립트와 연결합니다.

먼저, 사용자 정보를 표시하는 폼을 보여주는 update_user.php 파일을 작성합니다.

코드 php
<?php
// update_user.php
$pdo = new PDO('mysql:host=localhost;dbname=mydatabase', 'username', 'password');
$id = $_GET['id'];
$stmt = $pdo->prepare('SELECT * FROM users WHERE id = :id');
$stmt->execute(['id' => $id]);
$user = $stmt->fetch();
?>
<!DOCTYPE html>
<html>
<head>
    <title>Update User</title>
</head>
<body>
    <form action="process_update.php" method="POST">
        <input type="hidden" name="id" value="<?php echo $user['id']; ?>">
        <label>Name:</label>
        <input type="text" name="name" value="<?php echo $user['name']; ?>" required><br>
        <label>Email:</label>
        <input type="email" name="email" value="<?php echo $user['email']; ?>" required><br>
        <input type="submit" value="Update">
    </form>
</body>
</html>

위의 코드는 사용자의 정보를 보여주는 폼을 생성합니다. 사용자가 정보를 입력하고 제출하면 process_update.php에 POST 요청이 발생합니다.

다음으로 process_update.php 파일을 작성하여 실제로 데이터베이스의 정보를 업데이트하는 코드를 작성합니다.

코드 php
<?php
// process_update.php
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
    $pdo = new PDO('mysql:host=localhost;dbname=mydatabase', 'username', 'password');
    $id = $_POST['id'];
    $name = $_POST['name'];
    $email = $_POST['email'];

    $stmt = $pdo->prepare('UPDATE users SET name = :name, email = :email WHERE id = :id');
    $stmt->execute(['name' => $name, 'email' => $email, 'id' => $id]);

    echo 'User information updated successfully!';
} else {
    echo 'Invalid request';
}
?>

이 코드는 POST 요청으로 전달된 데이터를 사용하여 users 테이블에 있는 특정 사용자 레코드를 업데이트합니다. 사용자가 정보를 성공적으로 업데이트한 후 적절한 메시지를 출력합니다.

실습

각자 토이 프로젝트의 일부로 사용자 정보를 업데이트할 수 있는 기능을 구현해보세요. 데이터베이스에 포함된 다른 정보를 업데이트하는 기능을 추가하여 활용해 보십시오.

정리

이번 장에서는 데이터를 수정하는 UPDATE 기능을 배웠습니다. SQL 구문을 통해 레코드의 특정 열을 수정할 수 있으며, PHP와 PDO를 사용하여 데이터베이스와 상호작용하는 방법도 익혔습니다. 이 과정을 통해 웹 애플리케이션에서 CRUD 기능의 중요한 부분인 업데이트 기능을 이해하고 구현하게 되었습니다.

댓글 0

댓글을 남기려면 로그인하세요.

아직 댓글이 없습니다. 첫 댓글을 남겨보세요.