Sí, de servir serviría, pero tené en cuenta que un
SELECT * FROM usuarios te va a poner en el buffer todo lo que hay en la tabla de usuarios y sólo se precisa saber la cantidad de registros, por lo que vas a perder rendimiento.
mysql_affected_rows() te devuelve la cantidad de registros afectados en la última consulta. Hay otra función llamada
mysql_num_rows() que devuelve la cantidad de registros que devolvió la última consulta, en el caso que expusiste tenés que usar esta función, no
mysql_affected_rows().
Esto lo saqué de la documentación de PHP:
mysql_affected_rows() devuelve el número de filas afectadas en la ultima sentencia INSERT, UPDATE o DELETE sobre el servidor asociado con el identificador de enlace especificado. Si el identificador de enlace no ha sido especificado, se asume por defecto el último enlace.
Si la última sentencia fue un DELETE sin clausula WHERE, todos los registros han sido borrados de la tabla pero esta función devolvera cero.
Este comando no es efectivo para las sentencias SELECT, sino sólo para las sentencias que modifican registros. Para conseguir el número de lineas devueltos por un SELECT, usar mysql_num_rows().
Un saludo,