2010-08-31 34 views
3

我想打一个声明,如果只运行,如果日期时间值不为空(0000-00-00 00:00:00)PHP/MySql - DateTime检测值是否被赋值?

我已经通过查询传递的值到一个变量,但如何确定它是否等于0000-00-00 00:00:00

$query = "SELECT * FROM stats WHERE member_id='" . $_SESSION['SESS_MEMBER_ID'] . "' "; 
$result = mysql_query($query); 

while($row = mysql_fetch_array($result, MYSQL_ASSOC)) 
{ 
    $money = $row['money']; 
    $bank_money = $row['bank_money']; 
    $ap = $row['ap']; 
    $exp = $row['exp']; 
    $last_ap_update = $row['last_ap_update']; 
} 

if ($last_ap_update !=){ //Can i verify its NULL-ness here so i can run this if stament or run else? 
} 
+0

我们可以看到您的查询吗? – fredley 2010-08-31 12:54:33

+0

我加了..... – user377419 2010-08-31 12:56:29

+0

看起来你最多只能取一行。你不需要一个while循环。 – VolkerK 2010-08-31 13:09:07

回答

5

为什么不直接比较一下:

if ($last_ap_update != "0000-00-00 00:00:00") 
{ 
     //do whatever. 
} 
+0

ohhhh我不知道。我虽然日期时间值无法与字符串进行比较。日期时间值只是格式化的字符串? – user377419 2010-08-31 13:02:44

+0

@ shorty876:是的。 – shamittomar 2010-08-31 13:03:30

+0

甜蜜的感谢! .too short。 – user377419 2010-08-31 13:04:40

0

$last_ap_update != strtotime("0000-00-00 00:00:00")

1

你把它存储到一个变量,所以你可以使用它作为一个字符串

if ($last_ap_update != "0000-00-00 00:00:00"){ 
} 
1
if ($last_ap_update != "0000-00-00 00:00:00"){ 
    [process] 
} 
0

为什么不添加比较到你的sql语句?

$query = "SELECT * FROM stats WHERE member_id='" . $_SESSION['SESS_MEMBER_ID'] . "' AND last_ap_update > 0"; 

是的,你可以使用> 0,但你也可以使用<> '0000-00-00 00:00:00'如果你喜欢的。