[php] PHP에서의 반복문을 사용한 데이터 갱신

PHP에서 데이터베이스 테이블의 레코드를 업데이트해야 하는 경우가 종종 있습니다. 이런 경우, foreach 반복문을 사용하여 간단하게 여러 레코드를 한꺼번에 업데이트할 수 있습니다.

다음은 데이터베이스 연결, 레코드 선택, 그리고 foreach 반복문을 사용하여 데이터를 갱신하는 예제입니다.

<?php
// 데이터베이스 연결
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
    die("연결 실패: " . $conn->connect_error);
}

// 레코드 선택
$sql = "SELECT id, name, age FROM users";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // 레코드를 반복하여 데이터 갱신
    while($row = $result->fetch_assoc()) {
        $id = $row["id"];
        $newAge = $row["age"] + 1;
        $updateSql = "UPDATE users SET age=$newAge WHERE id=$id";
        if ($conn->query($updateSql) === TRUE) {
            echo "ID $id의 나이가 갱신되었습니다.<br>";
        } else {
            echo "오류 발생: " . $conn->error;
        }
    }
} else {
    echo "레코드가 없습니다.";
}

$conn->close();
?>

위 예제에서는 먼저 mysqli를 사용하여 데이터베이스에 연결하고, SELECT 쿼리를 통해 users 테이블의 레코드를 선택합니다. 그 후, foreach 반복문을 사용하여 각 레코드의 나이를 1씩 증가시키고, UPDATE 쿼리를 실행하여 데이터를 갱신합니다.

이처럼 foreach 반복문을 사용하면 데이터베이스의 여러 레코드를 간편하게 한꺼번에 업데이트할 수 있습니다.


참고 문헌: