2013-04-21 46 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比較存儲在數據庫中的現場時間和日期時間

嗯我用盡你告訴我,我做了這樣的代碼

,但仍得到執行的查詢,而不是給味精「回來以後」的查詢應該只工作,如果存儲的時間早在直播時間6小時

:(請幫我

+0

你可以發佈你的結構。您的查詢可以結合使用。和錯誤可能被刪除 – 2013-04-21 18:15:00

回答

0

您所查詢的是徹頭徹尾的假。date()在MySQL不「格式」日期值插入,因爲它在PHP。MySQL的date()字符串提取日期時間值的日期部分並將其作爲字符串返回,例如

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

混合PHP和MySQL日期邏輯這樣。通過now()CUR_DATE以及其他各種函數,MySQL完美的能夠生成「現在」的日期。

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

UPDATE ... `lastvoted` = now() 

是你所需要的。

+0

仍然沒有得到所需的結果更新原始發佈 – 2013-04-22 06:46:56