-1

Делаю небольшой фильтр. Нужна проверка ip по бд, за сегодняшний день. То есть, если сегодня юзер проголосовал - то он голосовать сегодня за определенный материал не может. Что получилось:

$ip = $_SERVER['X_FORWARDED_FOR'];
$id = $_GET['id'];
$time = date("Y-m-d");

$ipcheck = mysql_fetch_array(mysql_query("select * from rate WHERE id = '$id' AND from = '$ip' "));

if (date("Y-m-d",strtotime($ipcheck['date'])) == $time) { $text = "Вы уже голосовали сегодня за данный материал!"; }

else { ...

Ошибка в том, что вылазит в запросе, мол не хватает чего-то: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in

Так же, выполняется сам скрипт, то есть то, что после else.

Тип поля date в бд timestamp on update CURRENT_TIMESTAMP То есть записи в ним вида 2012-04-27 16:24:05

rimlin
  • 411

1 Answers1

2

Отвратительная привычка давать полям названия, которые являются служебными. Переименуйте поле from. Если уж надо сделать запрос именно с этим названием, то делайте так:

mysql_query("SELECT * FROM `rate` WHERE `id` = '$id' AND `from` = '$ip' ")
Deonis
  • 34,025