   #PHP Manual Improved MySQL Extension Improved MySQL Extension
   mysqli_autocommit

   PHP Manual
   Prev  Next
   ______________________________________________________________________

                             mysqli_affected_rows

   (PHP 5 CVS only)
   mysqli_affected_rows -- Gets the number of affected rows in a previous
   MySQL operation

Description

   mixed mysqli_affected_rows ( object link)

   mysqli_affected_rows() returns the number of rows affected by the last
   INSERT, UPDATE, or DELETE query associated with the provided link
   parameter. If the last query was invalid, this function will return
   -1.

     Note: When deleting the entire contents of a table (i.e. 'DELETE
     FROM foo'), this function will not return the number of rows that
     were actually deleted.

   The mysqli_affected_rows() function only works with queries which
   modify a table. In order to return the number of rows from a SELECT
   query, use the mysqli_num_rows() function instead.

   Example 1. Delete-Query

   Procedural style:
   <?php
       /* connect to database */
       $link = mysqli_connect("localhost", "mysql_user",
   "mysql_password", "mydb") or
           die("Could not connect: " . mysqli_connect_error());

       /* this should return the correct numbers of deleted records */
       mysqli_query($link, "DELETE FROM mytable WHERE id < 10");
       printf("Records deleted: %2d\n", mysqli_affected_rows($link));
       /* without a where clause in a delete statement, it should return
   0 */
       mysqli_query($link, "DELETE FROM mytable");
       printf("Records deleted: %2d\n", mysqli_affected_rows($link));
       /* close connection */
       mysqli_close($link);
   ?>

   Object oriented style:
   <?php
       /* connect to database */
       $mysql = mysqli_connect("localhost", "mysql_user",
   "mysql_password", "mydb") or
           die("Could not connect: " . mysqli_connect_error());

       /* this should return the correct numbers of deleted records */
       $mysql->query("DELETE FROM mytable WHERE id < 10");
       printf ("Records deleted: %2d\n", $mysql->affected_rows());
       /* without a where clause in a delete statement, it should return
   0 */
       $mysql->query("DELETE FROM mytable");
       printf ("Records deleted: %2d\n", $mysql->affected_rows());
       /* close connection */
       $mysql->close();
   ?>

   The above examples would produce the following output:
Records deleted: 10
Records deleted:  0

   Example 2. Update-Query

   Procedural style:
   <?php
       /* connect to database */
       $link = mysqli_connect("localhost", "mysql_user",
   "mysql_password", "mydb") or
           die("Could not connect: " . mysqli_connect_error());

       /* Update records */
       mysqli_query($link, "UPDATE mytable SET used=1 WHERE id < 10");
       printf ("Updated records: %d\n", mysqli_affected_rows($link));
       /* close connection */
       mysqli_close($link);
   ?>

   Object oriented style:
   <?php
       /* connect to database */
       $mysql = mysqli_connect("localhost", "mysql_user",
   "mysql_password", "mydb") or
           die("Could not connect: " . mysqli_connect_error());

       /* Update records */
       $mysql->query("UPDATE mytable SET used=1 WHERE id < 10");
       printf ("Updated records: %d\n", $mysql->affected_rows($link));
       /* close connection */
       $mysql->close($link);
   ?>

   The above examples would produce the following output:
   Updated Records: 10

   See also: mysqli_num_rows(), mysqli_info().
   ______________________________________________________________________

   Prev                     Home              Next
   Improved MySQL Extension  Up  mysqli_autocommit
