
mysqli_stmt::$affected_rows는 실행된 쿼리의 영향을 파악하는 함수입니다. 반환값이 0인 경우에는 쿼리가 실행되지 않았거나, 영향을 받은 행이 없을 때입니다.
mysqli_stmt::$affected_rows가 0인 경우에는 에러가 발생하지 않습니다. 오직 쿼리가 실행되지 않았거나, 영향을 받은 행이 없을 때만 0이 반환됩니다.
mysqli_stmt::$affected_rows는 INSERT, UPDATE, DELETE 쿼리와 같은 DML 쿼리에서만 사용할 수 있습니다. SELECT 쿼리에서는 영향을 받은 행의 개수를 파악할 수 없기 때문입니다.
예를 들어, INSERT 쿼리가 실행되면 affected_rows는 1이 반환됩니다. UPDATE 쿼리가 실행되면 affected_rows는 변경된 행의 개수가 반환됩니다. DELETE 쿼리가 실행되면 affected_rows는 삭제된 행의 개수가 반환됩니다.
다만, SELECT 쿼리에서는 affected_rows가 0이 반환됩니다. SELECT 쿼리는 데이터를 조회하는 쿼리이기 때문에 영향을 받은 행의 개수를 파악할 수 없습니다.
따라서, mysqli_stmt::$affected_rows를 사용하여 쿼리의 영향을 파악할 때는 쿼리가 INSERT, UPDATE, DELETE 쿼리인지 확인하고, affected_rows의 반환값을 기반으로 쿼리의 영향을 파악해야 합니다.
2025-08-13 04:47