PHP mysql_affected_rows() 함수
정의와 사용법
mysql_affected_rows() 함수는 마지막 MySQL 작업이 영향을 미친 레코드 행 수를 반환합니다.
문법
mysql_affected_rows(link_identifier)
파라미터 | 설명 |
---|---|
link_identifier | 필수. MySQL의 연결 식별자. 지정되지 않으면, 최근에 사용된 연결이 기본적으로 사용됩니다. mysql_connect() 열린 연결. 해당 연결을 찾지 못하면, 함수는 다음을 호출しよう 시도합니다. mysql_connect() 연결을 설정하고 사용합니다. 예기치 않은 사건이 발생하면, 연결을 찾지 못하거나 연결을 설정할 수 없을 경우, 시스템은 E_WARNING 수준의 경고 메시지를 발행합니다. |
설명
최근一次와 관련된 link_identifier 관련 INSERT, UPDATE 또는 DELETE 쿼리가 영향을 미친 레코드 행 수.
반환 값
성공적으로 실행되면 영향을 받은 행의 수를 반환하며, 최근 쿼리가 실패하면 함수는 -1을 반환합니다.
최근 작업이 조건(WHERE)이 없는 DELETE 쿼리인 경우, 테이블에 있는 모든 기록이 지워집니다. 그러나 이 함수의 반환 값은 4.1.2 버전 전까지는 항상 0으로 반환되었습니다.
UPDATE 쿼리를 사용할 때, MySQL은 원래 값과 새로운 값이 같은 열을 업데이트하지 않습니다. 이로 인해 mysql_affected_rows() 함수의 반환 값은 쿼리 조건에 맞는 기록 수가 아니며, 실제로 수정된 기록 수만이 반환됩니다.
REPLACE 문은 먼저 동일한 주키를 가진 기록을 지우고, 새로운 기록을 삽입합니다. 이 함수는 지워진 기록 수와 삽입된 기록 수를 반환합니다.
예제
<?php $con = mysql_connect("localhost","mysql_user","mysql_pwd"); if (!$con) { die("연결할 수 없음: " . mysql_error()); } mysql_select_db("mydb"); mysql_query("DELETE FROM mytable WHERE id < 5"); $rc = mysql_affected_rows();; echo "삭제된 기록: " . $rc; mysql_close($con); ?>
출력:
삭제된 기록: 4