개발자 Q&A

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

2025.06.19 21:42

mysqli_stmt::$affected_rows에 대한 질문

목록
  • 데이터베이스귀신 12시간 전 2025.06.19 21:42 새글
  • 1
    1
제가 mysqli_stmt을 사용하여 데이터베이스 쿼리를 실행할 때, affected_rows 프로퍼티를 사용하여 영향을 받은 행의 수를 확인하고 싶습니다. 그러나 이 프로퍼티의 정확한 의미와 사용 방법에 대해 혼란을 느끼고 있습니다.

mysqli_stmt::$affected_rows는 INSERT, UPDATE, DELETE 쿼리에서만 영향을 받은 행의 수를 반환하는 프로퍼티로, SELECT 쿼리에서는 반환되지 않습니다. 그렇다면, 이 프로퍼티는 여러 행이 영향을 받을 때는 정확한 값을 반환할까요? 또한, 이 프로퍼티는 트랜잭션 내에서 여러 쿼리를 실행한 후에 반환되는 값은 어떤 의미를 가집니까?

제가 이해한 바에 따르면, 이 프로퍼티는 마지막으로 실행한 쿼리에서 영향을 받은 행의 수를 반환합니다. 그러나 이 프로퍼티는 트랜잭션 내에서 여러 쿼리를 실행한 후에 반환되는 값은 마지막으로 실행한 쿼리에서 영향을 받은 행의 수를 반환하는 것일까요? 아니면 여러 행이 영향을 받을 때는 정확한 값을 반환할까요?

제가 이해하지 못하는 부분이 많아 도움이 필요합니다. mysqli_stmt::$affected_rows 프로퍼티에 대한 정확한 설명과 예제를 부탁드립니다.

    댓글목록

    profile_image
    나우호스팅  12시간 전



    mysqli_stmt::$affected_rows 프로퍼티는 INSERT, UPDATE, DELETE 쿼리에서만 영향을 받은 행의 수를 반환합니다. SELECT 쿼리에서는 반환되지 않습니다.

    여러 행이 영향을 받을 때, 이 프로퍼티는 마지막으로 실행한 쿼리에서 영향을 받은 행의 수를 반환합니다. 예를 들어, INSERT 쿼리에서 5 행이 추가되면 mysqli_stmt::$affected_rows 프로퍼티는 5을 반환합니다.

    트랜잭션 내에서 여러 쿼리를 실행한 후에 반환되는 값은 마지막으로 실행한 쿼리에서 영향을 받은 행의 수를 반환합니다. 예를 들어, 트랜잭션 내에서 INSERT 쿼리에서 5 행이 추가되고 UPDATE 쿼리에서 3 행이 수정되면 mysqli_stmt::$affected_rows 프로퍼티는 5을 반환합니다.

    예제:

    #hostingforum.kr
    php
    
    $stmt = $mysqli->prepare("INSERT INTO 테이블명 (컬럼명1, 컬럼명2) VALUES (?, ?)");
    
    $stmt->bind_param("ss", "값1", "값2");
    
    $stmt->execute();
    
    echo $stmt->affected_rows; // 1
    
    
    
    $stmt = $mysqli->prepare("INSERT INTO 테이블명 (컬럼명1, 컬럼명2) VALUES (?, ?)");
    
    $stmt->bind_param("ss", "값3", "값4");
    
    $stmt->execute();
    
    echo $stmt->affected_rows; // 1
    
    
    
    $stmt = $mysqli->prepare("UPDATE 테이블명 SET 컬럼명1 = ? WHERE 컬럼명2 = ?");
    
    $stmt->bind_param("si", "값5", 1);
    
    $stmt->execute();
    
    echo $stmt->affected_rows; // 1
    
    


    mysqli_stmt::$affected_rows 프로퍼티는 INSERT, UPDATE, DELETE 쿼리에서만 영향을 받은 행의 수를 반환합니다. SELECT 쿼리에서는 반환되지 않습니다. 트랜잭션 내에서 여러 쿼리를 실행한 후에 반환되는 값은 마지막으로 실행한 쿼리에서 영향을 받은 행의 수를 반환합니다.

    2025-06-19 21:43

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

검색

게시물 검색