У меня есть база данных с таблицей с именем «IP».  Он имеет 2 столбца Id(int11) и ip(varchar15) и строку со значениями: id 1, ip 127.0.0.1 
Теперь на PHP у меня есть следующее:
 $ip = $_SERVER['REMOTE_ADDR']; $query = "SELECT * FROM ip WHERE ip='$ip'"; if(mysql_query($query)) { echo "Ip is already in database"; } else { echo "Ip is not in database"; } 
  Теперь проблема заключается в том, что if-statement по-прежнему становится TRUE, если я изменяю IP, чтобы сказать: 125.0.0.1 
Я пытаюсь исправить это в течение 2 часов, но до сих пор не могу понять, что я делаю неправильно.
  mysql_query() не вернет false, если запрос выполнен успешно, даже если результатов нет.  Попробуйте вместо этого использовать mysql_num_rows() : 
 $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"; } 
  Кстати, я добавил mysql_real_escape_string вокруг REMOTE_ADDR var, вы всегда должны дезинфицировать свой вход 🙂 
Используйте mysql_num_rows для проверки количества записей!
 $query = mysql_query("SELECT * FROM ip WHERE ip='". $_SERVER['REMOTE_ADDR'] ."'"); $num = mysql_num_rows($query); if($num > 0) { echo "Exists"; } else { echo "Does not exist"; }