num_rows
informa quantas linhas existem no conjunto de resultados que você acabou de selecionar com um SELECT
consulta. affected_rows
informa quantas linhas foram afetadas por um INSERT
, UPDATE
, REPLACE
ou DELETE
consulta. A diferença é óbvia:$resultSet = mysqli_query($c, 'SELECT ...');
echo mysqli_num_rows($resultSet);
SELECT
conjunto de resultados vai para num_rows
. mysqli_query($c, 'UPDATE ...');
echo mysqli_affected_rows($c);
Sem conjunto de resultados, sem
num_rows
.