Count(*)
ви връща един ред, който съдържа броя на редовете като стойност.
С помощта на mysql_num_rows($result)
всъщност преброявате количеството редове на Count(*)
резултаткойто наистина е един .
Променете го на:
$result = mysql_query("SELECT * FROM smf_personal_messages", $link);
$num_rows = mysql_num_rows($result);
Или просто използвайте Count(*)
стойност (която вероятно е по-добра, тъй като се брои в DB и не извлича цялата таблица за нея) с помощта на mysql_fetch_array
.