Is seems that at least for SQL deletes, you should pass a MySQL link resource (from a mysql_connect call), not a MySQL result (from a mysql_query) otherwise you will get an error.
(PHP 4, PHP 5, PHP 7)
msql_affected_rows — Returns number of affected rows
$result
)
Returns number of affected rows by the last SELECT, UPDATE or DELETE
query associated with result
.
Returns the number of affected rows on success, or FALSE
on error.