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.
Huomaa:
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.
Huomaa:
When using UPDATE, MySQL will not update columns where the new
value is the same as the old value. This creates the possiblity
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.
Esimerkki 1. Delete-Query <?php
/* connect to database */
mysql_pconnect("localhost", "mysql_user", "mysql_password") or
die ("Could not connect");
/* 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 |
|
Esimerkki 2. Update-Query <?php
/* connect to database */
mysql_pconnect("localhost", "mysql_user", "mysql_password") or
die ("Could not connect");
/* 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:
|
See also: mysql_num_rows(),
mysql_info().