2012-12-09 3 views
-1

Я начал писать скрипт, который проверяет дату регистрации пользователя в базе данных, и если пользователь «истек», скрипт блокирует его доступ к сайту. Сценарий должен запускаться автоматически каждый день (задание cron?) И каждый раз повторяйте один и тот же процесс. К сожалению, почему-то функция UPDATE не работает, и я не понимаю, почему. Спасибо заранее!PHP: Если это правильно обновить базу данных

КОД:

// Connect to server and select databse. 

mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 


// To protect MySQL injection (more detail about MySQL injection) 

$sql=" SELECT id, group_id, registerDate 
    FROM w9phl_users 
    INNER JOIN w9phl_user_usergroup_map ON w9phl_users.id = w9phl_user_usergroup_map.user_id 
    WHERE registerDate < NOW() 
    AND group_id = 3 
    "; 

$result=mysql_query($sql); 

if (!$result) { 
    die('Could not query:' . mysql_error()); 
} 


while ($details = mysql_fetch_assoc($result)) { 

if ($details['id'] > 904) 

    {$sql=" UPDATE w9phl_users 
     SET block=1 
     WHERE id > 904"; 
    } 

else 
    { 
    echo "only IDs greater than 904 is permitted."; 
    }  


} 
+3

очень хорошее сообщение пользователю ': D' –

+1

Вы никогда не выполняли запрос на обновление. вызовите 'mysql_query()' на нем. –

+0

Разрешены только идентификаторы, превышающие 904 * – Tom

ответ

1

Вы забыли запустить свой запрос. Вы только что сохранили его в переменной, но не выполнили.

$sql = "UPDATE w9phl_users 
     SET block=1 
     WHERE id > 904"; 
mysql_query($sql); 
Смежные вопросы