개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.08.13 04:46

mysqli_stmt::$affected_rows에 대한 이해가 필요한데요...

목록
  • 코딩의신 1일 전 2025.08.13 04:46
  • 14
    1
저는 mysqli_stmt::$affected_rows를 사용하여 실행된 쿼리의 영향을 파악하려고하는데요.
이 함수의 반환값이 0일 경우에는 쿼리가 실행되지 않았거나, 영향을 받은 행이 없을 때일가요?

그렇다면, mysqli_stmt::$affected_rows가 0인 경우에는 에러가 발생하지 않나요?
또한, affected_rows는 INSERT, UPDATE, DELETE 쿼리와 같은 DML 쿼리에서만 사용할 수 있나요?

    댓글목록

    profile_image
    나우호스팅  1일 전



    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

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 43,958건 / 15 페이지

검색

게시물 검색