Prova con la mysql_affected_rows([resource link_identifier]) qui :
Codice PHP:
if (!mysql_num_rows($res)){
mysql_query("INSERT INTO contatore (pagina, visite) VALUES ($pagina, 1)");
}
quindi
Codice PHP:
if (mysql_affected_rows($res) == 0){
mysql_query("INSERT INTO contatore (pagina, visite) VALUES ($pagina, 1)");
}
La num_rows ha senso fatta su una SELECT non su un UPDATE.
Formalmente ti restituisce il numero di linee risultanti appunto da quella specifica SELECT.
Dato che tu prima fai un UPDATE ha poco senso controllare dopo con un num_rows, per questo utilizzi la "affected_rows" ossia quante righe sono state UPDATATE.
In questo caso si ha senso , nel caso non sia stata updatata nessuna, fare un INSERT della pagina con il valore visite a 1.
Prova cosí e fammi sapere.