Função mysql_affected_rows() do PHP
Definição e uso
A função mysql_affected_rows() retorna o número de linhas afetadas pela última operação MySQL.
Sintaxe
mysql_affected_rows(link_identifier)
Parâmetros | Descrição |
---|---|
link_identifier | Obrigatório. Identificador de conexão do MySQL. Se não for especificado, será usado o último que foi mysql_connect() Conexões abertas. Se não encontrar essa conexão, a função tentará chamar mysql_connect() Estabelecer uma conexão e usá-la. Se ocorrer um acidente, não encontrar a conexão ou não estabelecer a conexão, o sistema emitirá uma mensagem de aviso de nível E_WARNING. |
Descrição
Obter a última vez que link_identifier Número de linhas afetadas pela consulta INSERT, UPDATE ou DELETE relacionada.
Retorna o valor
Se a execução for bem-sucedida, retorna o número de linhas afetadas, se a última consulta falhar, a função retorna -1.
Se a última operação foi uma consulta DELETE sem condição (WHERE), todos os registros da tabela serão deletados, mas o valor retornado por essa função era 0 antes da versão 4.1.2.
Quando é usado uma consulta UPDATE, o MySQL não atualiza a coluna cujos valores originais e novos são iguais. Isso faz com que o valor retornado pela função mysql_affected_rows() não necessariamente seja o número de registros que correspondem aos critérios da consulta, apenas o número de registros realmente modificados será retornado.
A cláusula REPLACE primeiro deleta os registros com a mesma chave primária e então insere um novo registro. A função retorna o número de registros deletados mais o número de registros inseridos.
Exemplo
<?php $con = mysql_connect("localhost","mysql_user","mysql_pwd"); if (!$con) { die("Não foi possível conectar: " . mysql_error()); } mysql_select_db("mydb"); mysql_query("DELETE FROM mytable WHERE id < 5"); $rc = mysql_affected_rows();; echo "Registros deletados: " . $rc; mysql_close($con); ?>
Saída:
Registros deletados: 4