Función mysql_affected_rows()

my_ulonglong mysql_affected_rows(MYSQL *mysql)

Devuelve el número de filas afectadas por la última sentencia , las borradas por la última sentencia o insertadas por la última sentencia . Debe ser llamada inmediatamente después de la llamada a mysql_query para las sentencias , o . Para sentencias , mysql_affected_rows() funciona igual que mysql_num_rows.

Valores de retorno

Un entero mayor que cero indica el número de filas afectadas o recuperadas. Cero indica que ninguna fila fue actualizada para una sentencia , que no hay filas coincidentes con la cláusula WHERE de la consulta o que no se ha ejecutado ninguna consulta. -1 indica que la consulta ha retornado un error o que, para una consulta , mysql_affected_rows() fue llamada antes de una llamada a la función mysql_store_result. Como mysql_affected_rows() devuelve un valor sin signo, se puede verificar el valor -1 comparando el valor de retorno con (my_ulonglong)-1 (o con (my_ulonglong)~0, que es equivalente).

Errores

No tiene.

Ejemplo

mysql_query(&mysql,"UPDATE products SET cost=cost*1.25 WHERE group=10");
printf("%ld products updated",(long) mysql_affected_rows(&mysql));

Si se especifica la opción CLIENT_FOUND_ROWS cuando se conecta a mysqld, mysql_affected_rows() devolverá el número de filas coincidentes con la cláusula WHERE para la sentencia .

Hay que tener en cuenta que si se usa un comando , mysql_affected_rows() devuelve 2 si la nueva fila reemplaza a una antigua. Esto es porque en ese caso la fila es insertada después de que la duplicada sea borrada.

Si se usa para insertar una fila, mysql_affected_rows() devuelve 1 si la fila es insertada como una nueva y 2 si se acutaliza una fila existente.



suministrado por FreeFind
Valid HTML 4.0! Valid CSS!