1

我喜欢比较日期(从数据库中提取空值(0000-00-00)。我尝试这样做:

$dateValue = $row_recordset3['ttDateEnvoiDEP'];

if ($dateValue === '0000-00-00') {                  
    $dateEnvoiDEP = "CURRENT_DATE()";                   
}
else {
    $returnOK .= $dateValue;
    $dateEnvoiDEP = $row_recordset3['ttDateEnvoiDEP'];
} 

但它不起作用,你知道为什么吗?

4

3 回答 3

1

你为什么不直接在你的SQL查询中这样做,像这样,

SELECT   IF(ttDateEnvoiDEP = '0000-00-00', CURDATE(), ttDateEnvoiDEP) 
             as `ttDateEnvoiDEP`,
FROM     ...
WHERE    ...
于 2012-09-04T01:19:21.800 回答
1

CURRENT_DATE() 是一个 MySQL 函数,而不是 PHP。

读一读: http: //php.net/date

此外,如果您想以该格式使用当前日期,您可以执行date('Y-m-d')这将返回 2012-09-03 或任何日期。

于 2012-09-04T00:45:32.817 回答
0

如果你想用 PHP 处理日期,你可以使用 unix 时间戳。阅读 php时间日期以获取更多信息

问题是您的代码是您正在比较 0000-00-00 到 $dateValue.0000-00-00 不为空。不清楚你在这里做什么。但我想你想知道该值是否已设置。所以你可以试试

isset($dateValue)

希望这可以帮助你!

编辑:

if(!isset($dateValue)){
    $dateEnvoiDEP = time();
}else{
//do other stuff
}
于 2012-09-04T01:06:37.893 回答