Código PHP:
$visita=mysql_num_rows(mysql_query("SELECT ips FROM lecturas WHERE ips LIKE '%".$ip."%' AND id_contenido = '". $res["id"] . "'"));
Esa consulta para ver si la ip esta en el registro no tiene sentido ahora que se usan arrays serializados. Tendrias que usar in_array() con la ip y el array unserializado. Si no esta, añadirla, serializar el array y guardalo.
Código PHP:
((is_array($checkIP)) ? array_push($checkIP,$ip_num) : $checkIP=array($ip_num));
¿De donde sale $ip_num? ¿No seria $ip?