mysql_query()
non restituirà false se la query è stata eseguita correttamente, anche se non ci sono risultati. Prova a utilizzare mysql_num_rows()
invece:
$ip = mysql_real_escape_string($_SERVER['REMOTE_ADDR']);
$query = "SELECT * FROM ip WHERE ip='$ip'";
$result = mysql_query($query);
if (mysql_num_rows($result) > 0) {
echo "Ip is already in database";
}
else {
echo "Ip is not in database";
}
A proposito, ho aggiunto mysql_real_escape_string
intorno a REMOTE_ADDR
var, dovresti sempre disinfettare il tuo input :)