mysql_affected_rows()
my_ulonglong mysql_affected_rows(MYSQL *mysql)
Descrição
Retorna o número de registros alterados pelo último UPDATE
, deletados elo último DELETE
ou inseridos pelo último INSERT
. Pode ser chamado imediatamente após mysql_query()
para instruções UPDATE
, DELETE
, ou INSERT
. Para instruções SELECT
, mysql_affected_rows()
funciona como mysql_num_rows()
.
Valor Retornado
Um inteiro maior que zero indica o número de registros afetados ou recuperados. Zero indica que nenhum registro foi atualizado por uma instrução UPDATE
, nenhuma linha foi encontrada pela cláusula WHERE
na consulta ou a consulta ainda não foi executada. -1 indica que a consulta retornou um erro ou que, para uma consulta SELECT
, mysql_affected_rows()
foi chamado antes da chamada mysql_store_result()
.
Erros
Nenhum.
Exemplo
mysql_query(&mysql,'UPDATE products SET cost=cost*1.25 WHERE group=10'); printf('%ld products updated',(long) mysql_affected_rows(&mysql));
Se se for especificado o parâmetro CLIENT_FOUND_ROWS
ao conectar no mysqld
, mysql_affected_rows()
retornará o número de linhas encontardos pela cláusula WHERE
para a instrução UPDATE
.
Note que quando for utilizado um comando REPLACE
, mysql_affected_rows()
retornará 2 se o novo registro substituir um mais antigo. Isto é porque neste caso um registro foi inserido e depois os registros duplicados foram deletados.