English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP 기본 강의

PHP 고급 강의

PHP & MySQL

PHP 참조 매뉴얼

PHP mysqli_affected_rows() 함수 사용법 및 예제

PHP MySQLi 참조 매뉴얼

mysqli_affected_rows() 함수는 마지막 MySQL 작업에서 영향을 받은 행 수를 가져옵니다.

정의와 사용법

mysqli_affected_rows()함수의 역할은 다음과 같습니다: INSERT, UPDATE, REPLACE 또는 DELETE 쿼리 후 호출되면, 이전 작업에 영향을 받은 행 수를 반환합니다.

select 문장 후에 사용할 때 이 함수는 행 수를 반환합니다。

문법

mysqli_affected_rows($con)

파라미터

순번파라미터 및 설명
1

con(필수)

이는 MySQL Server와의 연결을 나타내는 객체입니다。

반환 값

PHP mysqli_affected_rows() 함수는 이전(선택, 삽입, 수정, 대체 또는 제거) 작업에 영향을 받은 행 수를 나타내는 정수 값을 반환합니다。

이전 쿼리가 오류가 있으면 이 함수는 반환합니다 -1。영향을 받은 행이 없거나 이전 쿼리/작업이 위에 언급된 쿼리가 아니면/중 하나의 작업이면 이 함수는 0을 반환합니다.

PHP 버전

이 함수는 원래 PHP 버전5중에서 도입되었으며, 모든 더 높은 버전에서 사용할 수 있습니다.

온라인 예제

다음 예제는 다음과 같이 표시되었습니다.mysqli_affected_rows()함수의 사용법(프로그램 스타일)

<?php
   //연결 생성
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   //employee 테이블의 모든 행을 검색하는 쿼리
   mysqli_query($con, "SELECT * FROM employee");
   //영향을 받은 행
   $rows = mysqli_affected_rows($con);
   print("영향을 받은 행 수: 	".$rows);
   //연결을 닫기
   mysqli_close($con);
?>

출력 결과

영향을 받은 행 수: 5

온라인 예제

객체 지향 스타일에서 이 함수의 문법은 $con -> affected_rows, $con 은 연결 객체입니다-

<?php
   //연결 생성
   $con = new mysqli("localhost", "root", "password", "mydb");
   //employee 테이블의 모든 행을 검색하는 쿼리
   $con -> query("SELECT * FROM employee");
   //영향을 받은 행 수
   $rows = $con -> affected_rows;
   print("영향을 받은 행 수: 	".$rows);
   //연결을 닫기
   $con -> close();
?>

출력 결과

영향을 받은 행 수: 5

온라인 예제

다음과 같은 경우에, 이 함수의 반환 값을 확인해 보겠습니다: 지정된 쿼리가 없고, 쿼리가 오류가 있거나 어떤 행도 영향을 받지 않았을 때:

<?php
   //연결 생성
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   $rows1 = mysqli_affected_rows($con);
   print("영향을 받은 행(사전에 지정되지 않은 작업 시): 	".$rows1".\n");
   //employee 테이블의 모든 행을 검색하는 쿼리
   mysqli_query($con, "SELECT * FROM employee");
   $rows2 = mysqli_affected_rows($con);
   print("영향을 받은 행(쿼리 오류 시): 	".$rows2".\n");
   //employee 테이블의 모든 행을 검색하는 쿼리
   mysqli_query($con, "SELECT FIRST_NAME FROM employee WHERE AGE \<=19");
   $rows3 = mysqli_affected_rows($con);
   print("영향을 받은 행(불완전한 쿼리 시): 	".$rows3".\n");
   //연결을 닫기
   mysqli_close($con);
?>

출력 결과

영향을 미친 행(이전에 명시되지 않은 작업): 0
영향을 미친 행(쿼리에 오류가 있을 때): -1
영향을 미친 행(쿼리가 어떤 작업도 수행하지 않았을 때): 0

온라인 예제

아래의 예제는 SELECT, UPDATE, INSERT 및 DELETE 쿼리에서mysqli_affected_rows함수의 사용법-

<?php
   //연결을 설정
   $con = mysqli_connect("localhost", "root", "password", "mydb");
   //employee 테이블의 모든 행을 검색
   mysqli_query($con, "SELECT * FROM employee WHERE INCOME > 8000");
   print("SELECT 쿼리가 영향을 미친 행: ".mysqli_affected_rows($con)."\n");
   //employee 테이블의 행을 업데이트하는 쿼리
   mysqli_query($con, "UPDATE employee SET INCOME=INCOME+5000 WHERE FIRST_NAME IN ('Ramya', 'Trupthi', 'Sarmista')");
   print("UPDATE 쿼리가 영향을 미친 행: ".mysqli_affected_rows($con)."\n");
   //employee 테이블에 행을 삽입하는 쿼리
   mysqli_query($con, "INSERT INTO employee VALUES ('Archana', 'Mohonthy', 30, 'M', 13000, 106);");
   print("INSERT 쿼리가 영향을 미친 행: ".mysqli_affected_rows($con)."\n");
   //employee 테이블의 행을 삭제하는 쿼리를 검색
   mysqli_query($con, "DELETE FROM employee WHERE AGE > 25");
   print("DELETE 쿼리가 영향을 미친 행: ".mysqli_affected_rows($con)."\n");
   //연결을 닫기
   mysqli_close($con);
?>

출력 결과

SELECT 쿼리가 영향을 미친 행: 4
UPDATE 쿼리가 영향을 미친 행: 3
INSERT 쿼리가 영향을 미친 행: 1
DELETE 쿼리가 영향을 미친 행: 3

PHP MySQLi 참조 매뉴얼