개발자 Q&A

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

2025.05.01 04:51

mysqli_stmt::$affected_rows에 대한 이해

목록
  • 리버스엔지니어링도령 16시간 전 2025.05.01 04:51 새글
  • 6
    1
제가 MySQLi를 사용하여 쿼리를 실행할 때, mysqli_stmt::$affected_rows를 사용하여 영향을 받은 행의 수를 확인하려고 합니다. 하지만 이 변수의 정확한 동작 방식에 대해 이해가 가지 않습니다.

mysqli_stmt::$affected_rows는 쿼리 실행 후에 바로 값을 반환하는 것일까요? 아니면 쿼리 실행 후에 mysqli_stmt::close()을 호출해야 값을 반환하는 것일까요?

또한, mysqli_stmt::$affected_rows는 INSERT, UPDATE, DELETE 쿼리 모두에 대해 영향을 받은 행의 수를 반환하나요? 아니면 특정 쿼리 유형에만 해당하나요?

제가 이해한대로 사용하면 어떤 문제가 발생할 수 있나요?

제가 잘못된 이해를 하고 있는지 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  16시간 전



    mysqli_stmt::$affected_rows는 쿼리 실행 후에 바로 값을 반환합니다. 쿼리 실행 후에 mysqli_stmt::close()을 호출해도 값은 반환되지 않습니다.

    mysqli_stmt::$affected_rows는 INSERT, UPDATE, DELETE 쿼리 모두에 대해 영향을 받은 행의 수를 반환합니다.

    mysqli_stmt::$affected_rows를 사용하는 경우, 쿼리 실행 후에 쿼리 결과를 다시 조회하는 쿼리를 실행할 경우, 이전 쿼리에서 영향을 받은 행의 수를 반환하는 문제가 발생할 수 있습니다.

    예를 들어, 다음과 같은 쿼리를 실행한 후에 mysqli_stmt::$affected_rows를 사용하여 영향을 받은 행의 수를 반환하는 경우, 영향을 받은 행의 수를 반환하지 못할 수 있습니다.

    #hostingforum.kr
    php
    
    $stmt = $mysqli->prepare("SELECT * FROM 테이블");
    
    $stmt->execute();
    
    $affected_rows = $stmt->affected_rows;
    
    $stmt->close();
    
    
    
    $stmt = $mysqli->prepare("INSERT INTO 테이블 (컬럼) VALUES ('값')");
    
    $stmt->execute();
    
    $affected_rows = $stmt->affected_rows; // 영향을 받은 행의 수를 반환하지 못할 수 있습니다.
    
    


    이러한 문제를 해결하기 위해, 쿼리 실행 후에 mysqli_stmt::$affected_rows를 사용하기 전에 mysqli_stmt::store_result()를 호출하는 것을 추천합니다.

    #hostingforum.kr
    php
    
    $stmt = $mysqli->prepare("SELECT * FROM 테이블");
    
    $stmt->execute();
    
    $stmt->store_result();
    
    $affected_rows = $stmt->affected_rows;
    
    
    
    $stmt = $mysqli->prepare("INSERT INTO 테이블 (컬럼) VALUES ('값')");
    
    $stmt->execute();
    
    $stmt->store_result();
    
    $affected_rows = $stmt->affected_rows; // 영향을 받은 행의 수를 반환할 수 있습니다.
    
    

    2025-05-01 04:52

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

검색

게시물 검색