Una aclaración al código, la función
mysql_affected_rows(), devuelve le número de filas afectadas en la ultima sentencia INSERT, UPDATE o DELETE, para obtener el número de filas de un SELECT necesitas usar
mysql_num_rows() Código PHP:
$ip = $_SERVER['REMOTE_ADDR'];
$q = "select * from tabla where ip='".$_SERVER['REMOTE_ADDR']."'";
$rss = mysql_query($q) or die("Error en query $q:".mysql_error() );
if (mysql_num_rows($rss) == 0){
$q_I ="insert into tabla set ip = '".$_SERVER['REMOTE_ADDR']."'";
$rss_I = mysql_query($q) or die("Error en query $q_I:".mysql_error() );}
Saludos.