   #PHP Manual MySQL Functions MySQL Functions mysql_change_user

   PHP Manual
   Prev  Next
   ______________________________________________________________________

                              mysql_affected_rows

   (PHP 3, PHP 4 )
   mysql_affected_rows -- Get number of affected rows in previous MySQL
   operation

Description

   int mysql_affected_rows ( [resource link_identifier])

   mysql_affected_rows() returns the number of rows affected by the last
   INSERT, UPDATE or DELETE query associated with link_identifier. If the
   link identifier isn't specified, the last link opened by
   mysql_connect() is assumed.

     Note: If you are using transactions, you need to call
     mysql_affected_rows() after your INSERT, UPDATE, or DELETE query,
     not after the commit.

   If the last query was a DELETE query with no WHERE clause, all of the
   records will have been deleted from the table but this function will
   return zero.

     Note: When using UPDATE, MySQL will not update columns where the
     new value is the same as the old value. This creates the
     possibility that mysql_affected_rows() may not actually equal the
     number of rows matched, only the number of rows that were literally
     affected by the query.

   mysql_affected_rows() does not work with SELECT statements; only on
   statements which modify records. To retrieve the number of rows
   returned by a SELECT, use mysql_num_rows().

   If the last query failed, this function will return -1.

   Example 1. Delete-Query
   <?php
       /* connect to database */
       mysql_pconnect("localhost", "mysql_user", "mysql_password") or
           die("Could not connect: " . mysql_error());
       mysql_select_db("mydb");

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

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

   Example 2. Update-Query
   <?php
       /* connect to database */
       mysql_pconnect("localhost", "mysql_user", "mysql_password") or
           die("Could not connect: " . mysql_error());
       mysql_select_db("mydb");
       /* Update records */
       mysql_query("UPDATE mytable SET used=1 WHERE id < 10");
       printf ("Updated records: %d\n", mysql_affected_rows());
       mysql_query("COMMIT");
   ?>

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

   See also mysql_num_rows(), mysql_info().
   ______________________________________________________________________

   Prev            Home              Next
   MySQL Functions  Up  mysql_change_user
