2013-04-21 3 views
0
<?php 
define('INCLUDE_CHECK',true); 
error_reporting(0); 
session_name('tzLogin'); 
session_start(); 
$user = $_SESSION['name']; 

if($user or die('Please login to continue')) {  

    mysql_connect("localhost","root","password"); 
    mysql_select_db('db_account'); 
    require_once 'Functions/Import.php'; 



    $l = isset ($_GET [ 'l' ]) ? $_GET [ 'l' ] : null ; 


    if (! is_null ($l)) { 
$gd= mysql_query("SELECT * FROM t_account WHERE name='$user' AND (now() - INTERVAL 6 HOUR > lastvoted)"); 

      if($gd or die("Come back later you still have time left to vote")) 
      { 
$qry = "UPDATE t_account SET `vo` = `vo` + 1, `lastvoted` = now() WHERE name='$user'"; 
$result = @mysql_query($qry); 
} 
else { 

} 
      header ('Location: ' . base64_decode ($l) , true , 301) ; 

      exit ; 

    } 

     } 
?> 

Я не получаю нужный результат.MYSQL + PHP, сравнивающее время и время, хранящиеся в базе данных

Hm ив попробовал то, что вы сказали мне, и я сделал этот код,

, но по-прежнему запрос становится выполнен вместо того, чтобы дать Сообщи «вернуться позже» запрос должен работать только тогда, хранимое время в 6 час раньше живого времени

:(пожалуйста, помогите мне

+0

Вы можете разместить свою структуру. Ваши запросы можно комбинировать. и errorr может быть удален –

ответ

0

Ваш запрос прямо неверно. date() в MySQL не «формат» значение даты в строку, как это делает в PHP. MySQL, date() извлекает часть даты значения даты и времени и возвращает ее как строку, например

date('2013-04-21 12:00:00') -> '2013-04-21' 

ли НЕ PHP микс и даты MySQL логики, как это. MySQL отлично подходит для генерации дат «сейчас», через now() и CUR_DATE и других функций.

SELECT ... WHERE (now() - INTERVAL 6 HOUR > lastvoted) 

UPDATE ... `lastvoted` = now() 

- это все, что вам нужно.

+0

все еще не получил требуемый результат обновленный оригинальный пост –

Смежные вопросы