Выборка из таблицы по условию, которого не существует - 2
А почему закрыта эта ветка, если ошибка не найдена?
http://phpclub.ru/talk/showthread.php?s=&threadid=96376&rand=26
tooluz, вот ты пишешь "ничего не выдаёт - а должен бы выдать - ру."
Конечно ничего не выдает, всё логично.
Ошибка здесь:
$query = db_query("Select * FROM rucom where ip='$ip'");
while ($res = db_fetch_object($query))
<----
if ($ip == "$res->ip")
{echo "com" ;} // ok!
else
{echo "ru";} // условие не выполняется
Ведь русские айпи в базе не сохраняются, значит при попытке их поиска $query будет пустым, $res соответственно тоже и цикл while даже не стартует - управление сразу передастся за его конец, игнорировав оператор if, в который ты зачем-то и зашил все действия. Твоя ветка else - условие, которое НИКОГДА не выполняется.
Скрипт нужно переделать. Можно просто удалить слово else и всё заработает.
Кроме того, мне кажется, всё криво с самого начала.
Если задача только в том, чтобы отсеять посетителей из зоны .ru, то зачем вообще нужна база айпишников? Если по ним пытаться идентифицировать постоянных пользователей, то завтра с этого айпи зайдет совсем другой человек и чего?