PHP mysqli_stmt_affected_rows MySQLi 函数
-
定义和用法
mysqli_stmt_affected_rows - 返回最后执行的语句更改,删除或插入的总行数 -
版本支持
PHP4 PHP5 PHP7 不支持 支持 支持 -
语法
mysqli_stmt_affected_rows ( mysqli_stmt $stmt )
返回受INSERT,UPDATE或DELETE查询影响的行数。 此功能仅适用于更新表的查询。 为了从SELECT查询中获取行数,请改用 mysqli_stmt_num_rows()。 -
参数
参数 必需的 描述 stmt 是 由 mysqli_stmt_init() 返回的 statement 标识。 -
返回值
大于零的整数表示受影响或已检索的行数。 零表示没有针对UPDATE / DELETE语句更新的记录,没有与查询中的WHERE子句匹配的行,或者尚未执行任何查询。 -1表示查询已返回错误。 NULL表示已向函数提供了无效的参数。如果受影响的行数大于最大PHP int值,则受影响的行数将作为字符串值返回。
-
示例
<?php $link = mysqli_connect("localhost", "my_user", "my_password", "world"); /* check connection */ if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } /* create temp table */ mysqli_query($link, "CREATE TEMPORARY TABLE myCountry LIKE Country"); $query = "INSERT INTO myCountry SELECT * FROM Country WHERE Code LIKE ?"; /* prepare statement */ if ($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)); /* close statement */ mysqli_stmt_close($stmt); } /* close connection */ mysqli_close($link);
-