array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'uk', ), 'this' => array ( 0 => 'mysqli-stmt.affected-rows.php', 1 => 'mysqli_stmt::$affected_rows', 2 => 'Returns the total number of rows changed, deleted, inserted, or matched by the last statement executed', ), 'up' => array ( 0 => 'class.mysqli-stmt.php', 1 => 'mysqli_stmt', ), 'prev' => array ( 0 => 'class.mysqli-stmt.php', 1 => 'mysqli_stmt', ), 'next' => array ( 0 => 'mysqli-stmt.attr-get.php', 1 => 'mysqli_stmt::attr_get', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/mysqli/mysqli_stmt/affected-rows.xml', ), 'history' => array ( ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); contributors($setup); ?>
(PHP 5, PHP 7, PHP 8)
mysqli_stmt::$affected_rows -- mysqli_stmt_affected_rows — Returns the total number of rows changed, deleted, inserted, or matched by the last statement executed
Об'єктно-орієнтований стиль
Процедурний стиль
Returns the number of rows affected by INSERT
,
UPDATE
, or DELETE
query.
Works like mysqli_stmt_num_rows() for
SELECT
statements.
statement
Тільки процедурний стиль: об'єкт mysqli_stmt, якого повертає функція mysqli_stmt_init().
An integer greater than zero indicates the number of rows affected or
retrieved. Zero indicates that no records were updated for an
UPDATE
statement, no rows matched the
WHERE
clause in the query or that no query has yet been
executed. -1
indicates that the query returned an error or
that, for a SELECT
query,
mysqli_stmt_affected_rows() was called prior to calling
mysqli_stmt_store_result().
Зауваження:
If the number of affected rows is greater than maximum PHP int value, the number of affected rows will be returned as a string value.
Приклад #1 mysqli_stmt_affected_rows() example
Об'єктно-орієнтований стиль
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* create temp table */
$mysqli->query("CREATE TEMPORARY TABLE myCountry LIKE Country");
$query = "INSERT INTO myCountry SELECT * FROM Country WHERE Code LIKE ?";
/* prepare statement */
$stmt = $mysqli->prepare($query);
/* Bind variable for placeholder */
$code = 'A%';
$stmt->bind_param("s", $code);
/* execute statement */
$stmt->execute();
printf("Rows inserted: %d\n", $stmt->affected_rows);
Процедурний стиль
<?php
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* create temp table */
mysqli_query($link, "CREATE TEMPORARY TABLE myCountry LIKE Country");
$query = "INSERT INTO myCountry SELECT * FROM Country WHERE Code LIKE ?";
/* prepare statement */
$stmt = mysqli_prepare($link, $query);
/* Bind variable for placeholder */
$code = 'A%';
mysqli_stmt_bind_param($stmt, "s", $code);
/* execute statement */
mysqli_stmt_execute($stmt);
printf("Rows inserted: %d\n", mysqli_stmt_affected_rows($stmt));
Подані вище приклади виведуть:
Rows inserted: 17