ich liege doch richtig, wenn ich behaupte, ich lese mit mysql_num_rows aus wievie Reihen sich in der Tabelle befinden, oder?
Ja mysql_num_rows gibt an, wie viele Zeilen der Query Befehl ergeben hat.
Ich sehe in deinem Script gerade keinen Fehler. Aber nimm doch das ganze etwas auseinander.
Zum Beispiel:
$query = mysql_query("SELECT * FROM user WHERE sessid='$_COOKIE[pdsessid]'");
$newid = mysql_fetch_row($query);
$query2 = mysql_query("SELECT empaengerid FROM messages WHERE empfaengerid='$newid[0]'")
$newpn = mysql_num_rows($query2);
Überprüf doch mal was du im Array $newid bekommst. Vieleicht bekommst du dort etwas ganz falsches.
P.S. gib beim ersten query an welches Feld du möchtest und nicht *