mysqli::$affected_rows

(PHP 5, PHP 7, PHP 8)

mysqli::$affected_rows -- mysqli_affected_rows — 이전 MySQL 작업에서 영향을 받은 행의 수를 가져옵니다.


설명

객체 지향 스타일

int|string $mysqli->affected_rows;

절차적 스타일

mysqli_affected_rows(mysqli $mysql): int|string

마지막 INSERT, UPDATE, REPLACE 또는 DELETE 쿼리의 영향을 받은 행 수를 반환합니다. SELECT 문에 대해 mysqli_num_rows()처럼 작동합니다.


매개변수

mysql
절차적 스타일 전용: mysqli_connect() 또는 mysqli_init()에 의해 반환된 mysqli 객체

반환 값

0보다 큰 정수는 영향을 받거나 검색된 행 수를 나타냅니다. 0은 UPDATE 문에 대해 업데이트된 레코드가 없거나 쿼리의 WHERE 절과 일치하는 행이 없거나 쿼리가 아직 실행되지 않았음을 나타냅니다. -1은 쿼리가 오류를 반환했거나 버퍼링되지 않은 SELECT 쿼리에 대해 mysqli_affected_rows()가 호출되었음을 나타냅니다.

메모: 영향을 받는 행의 수가 최대 int 값(PHP_INT_MAX)보다 크면 영향을 받는 행의 수가 문자열로 반환됩니다.


Examples

예제 #1 $mysqli->affected_rows 예제

객체 지향 스타일

                  
<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* Insert rows */
$mysqli->query("CREATE TABLE Language SELECT * from CountryLanguage");
printf("Affected rows (INSERT): %d\n", $mysqli->affected_rows);

$mysqli->query("ALTER TABLE Language ADD Status int default 0");

/* update rows */
$mysqli->query("UPDATE Language SET Status=1 WHERE Percentage > 50");
printf("Affected rows (UPDATE): %d\n", $mysqli->affected_rows);

/* delete rows */
$mysqli->query("DELETE FROM Language WHERE Percentage < 50");
printf("Affected rows (DELETE): %d\n", $mysqli->affected_rows);

/* select all rows */
$result = $mysqli->query("SELECT CountryCode FROM Language");
printf("Affected rows (SELECT): %d\n", $mysqli->affected_rows);

/* Delete table Language */
$mysqli->query("DROP TABLE Language");
                  
                

절차적 스타일

                  
<?php

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");

/* Insert rows */
mysqli_query($link, "CREATE TABLE Language SELECT * from CountryLanguage");
printf("Affected rows (INSERT): %d\n", mysqli_affected_rows($link));

mysqli_query($link, "ALTER TABLE Language ADD Status int default 0");

/* update rows */
mysqli_query($link, "UPDATE Language SET Status=1 WHERE Percentage > 50");
printf("Affected rows (UPDATE): %d\n", mysqli_affected_rows($link));

/* delete rows */
mysqli_query($link, "DELETE FROM Language WHERE Percentage < 50");
printf("Affected rows (DELETE): %d\n", mysqli_affected_rows($link));

/* select all rows */
$result = mysqli_query($link, "SELECT CountryCode FROM Language");
printf("Affected rows (SELECT): %d\n", mysqli_affected_rows($link));

/* Delete table Language */
mysqli_query($link, "DROP TABLE Language");
                  
                

위의 예는 다음을 출력합니다.

Affected rows (INSERT): 984
Affected rows (UPDATE): 168
Affected rows (DELETE): 815
Affected rows (SELECT): 169
                

기타

  • mysqli_num_rows() - 결과 세트의 행 수를 가져옵니다.
  • mysqli_info() - 가장 최근에 실행된 쿼리에 대한 정보를 검색합니다.