# maxdb_stmt_affected_rows

# maxdb_stmt::affected_rows

(PECL maxdb >= 1.0)

maxdb_stmt_affected_rows -- maxdb_stmt::affected_rows — Returns the total number of rows changed, deleted, or inserted by the last executed statement

### 说明

过程化风格

maxdb_stmt_affected_rows ( resource `$stmt` ) : int

面向对象风格

int $maxdb_stmt->affected_rows;

maxdb_stmt_affected_rows() returns the number of rows affected by INSERT, UPDATE, or DELETE query. If the last query was invalid or the number of rows can not determined, this function will return -1.

### 返回值

An integer greater than zero indicates the number of rows affected or retrieved. Zero indicates that no records where updated for an UPDATE/DELETE statement, no rows matched the WHERE clause in the query or that no query has yet been executed. -1 indicates that the query has returned an error or the number of rows can not determined.

### 范例

Example #1 面向对象风格

    <?php
    $maxdb = new maxdb("localhost", "MONA", "RED", "DEMODB");

    /* check connection */
    if (maxdb_connect_errno()) {
       printf("Connect failed: %s\n", maxdb_connect_error());
       exit();
    }

    /* create temp table */
    $maxdb->query("CREATE TABLE temp.mycity LIKE hotel.city");

    $query = "INSERT INTO temp.mycity SELECT * FROM hotel.city WHERE state LIKE ?";

    /* prepare statement */
    if ($stmt = $maxdb->prepare($query)) {

       /* Bind variable for placeholder */
       $code = 'N%';
       $stmt->bind_param("s", $code);

       /* execute statement */
       $stmt->execute();

       printf("rows inserted: %d\n", $stmt->affected_rows);

       /* close statement */
       $stmt->close();
    }

    /* close connection */
    $maxdb->close();
    ?>

Example #2 过程化风格

    <?php
    $link = maxdb_connect("localhost", "MONA", "RED", "DEMODB");

    /* check connection */
    if (maxdb_connect_errno()) {
       printf("Connect failed: %s\n", maxdb_connect_error());
       exit();
    }

    /* create temp table */
    maxdb_query($link, "CREATE TABLE temp.mycity LIKE hotel.city");

    $query = "INSERT INTO temp.mycity SELECT * FROM hotel.city WHERE state LIKE ?";

    /* prepare statement */
    if ($stmt = maxdb_prepare($link, $query)) {

       /* Bind variable for placeholder */
       $code = 'N%';
       maxdb_stmt_bind_param($stmt, "s", $code);

       /* execute statement */
       maxdb_stmt_execute($stmt);

       printf("rows inserted: %d\n", maxdb_stmt_affected_rows($stmt));

       /* close statement */
       maxdb_stmt_close($stmt);
    }

    /* close connection */
    maxdb_close($link);
    ?>

以上例程的输出类似于：

    rows inserted: 4

### 参见

- maxdb_stmt_num_rows() - Return the number of rows in statements result set
- maxdb_prepare() - Prepare an SQL statement for execution