[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 반복문을 사용하면 데이터베이스의 여러 레코드를 간편하게 한꺼번에 업데이트할 수 있습니다.
참고 문헌:
- PHP 공식 문서: https://www.php.net/manual/en/control-structures.foreach.php
- W3Schools PHP Tutorial: https://www.w3schools.com/php/php_mysql_update.asp