A
Count(*)
retorna uma linha que contém o número de linhas como um valor. Usando
mysql_num_rows($result)
você está realmente contando a quantidade de linhas do Count(*)
resultado que realmente é um . Altere para:
$result = mysql_query("SELECT * FROM smf_personal_messages", $link);
$num_rows = mysql_num_rows($result);
Ou apenas use o
Count(*)
value (o que provavelmente é melhor, pois conta no banco de dados e não recupera a tabela inteira para ele) usando mysql_fetch_array
.