$sql_save = "INSERT INTO member(user_id, user_nick, user_pass) VALUE('$user_id', '$user_nick', '$password')";
$result = mysqli_query($db, $sql_save);
if ($result) {
header("location: register.php?success=회원가입에 성공하셨습니다.");
exit();
}
INSERT, UPDATE, DELETE와 같은 쓰기 작업 쿼리에서는 데이터베이스에 변경을 가하는 작업을 수행하므로, 이들 쿼리의 실행 결과는 행의 수로 표현되지 않습니다. 이런 쿼리에서는 mysqli_query가 true 또는 false를 반환하여 쿼리의 성공 또는 실패 여부만 알려줍니다. 이 경우, 영향 받은 행의 수를 알고 싶다면 mysqli_affected_rows 함수를 사용합니다.
반면에 결과 행 수를 확인해야 하는 경우는 주로 SELECT 쿼리를 사용할 때 입니다. SELECT 쿼리는 데이터베이스로부터 데이터를 조회할 때 사용되며, 조회된 데이터는 결과 집합 형태로 반환됩니다. 이 때 mysqli_num_rows 함수를 사용하여 결과 집합에 있는 행의 수를 확인할 수 있습니다.
$sql = "SELECT * FROM some_table";
$result = mysqli_query($db, $sql);
if ($result) {
$numRows = mysqli_num_rows($result);
if ($numRows > 0) {
// 결과 집합에 행이 있음
while ($row = mysqli_fetch_assoc($result)) {
// 각 행 처리
}
} else {
// 결과 집합에 행이 없음
}
}