Mysql
Valor Retornado ¶
Retona o número de linas atingidas em caso de sucesso, e -1 se a ultima consulta falhou.
Se a ultima consulta foi um consulta DELETE sem a claúsula WHERE, todos os registros terão sido excluídos da tabela mas esta função irá retornar zero com versões do MySQL anteriores a 4.1.2.
Ao usar UPDATE, o MySQL não irá atualizar colunas aonde o novo valor é o mesmo que o valor anterior. Isto cria a possibilidade de que mysql_affected_rows() possa não ser igual ao número de linhas encontradas, apenas o número de linhas que literalmente foram afetadas pela consulta.
O comando REPLACE primeiro exclui o registro com a mesma chave primaria e então insere o novo registro. Esta função retorna o número de registros excluídos mais o número de registros inseridos.
Exemplos ¶
Exemplo #1 Exemplo mysql_affected_rows() O exemplo acima irá imprimir algo similar à:
Records deleted: 10
Records deleted: 0
Exemplo #2 Exemplo de mysql_affected_rows() usando transações O exemplo acima irá imprimir algo similar à:
Updated Records: 10
Notas ¶
Nota: Transações
Se você estiver usando transações, você deve utilizar mysql_affected_rows() depois da sua consulta INSERT, UPDATE, ou DELETE, não depois de COMMIT.
Nota: Comandos SELECT
Para obter o número de linhas retornados por um SELECT, é possível usar mysql_num_rows().
Veja Também ¶ mysql_num_rows() - Obtém o número de linhas em um resultado mysql_info() - Obtém informação sobre a consulta mais recente add a note
User Contributed Notes 10 notes up down
7
EToS ¶
6 years ago i found a pretty nice way, this db class/function will accept an array of arrays of querys, it will auto check every line for affected rows in db, if one is 0 it will rollback and return false, else it will commit and return true, the call to the function is simple and is easy to read etc
----------