从mysql中比较PHP中的两个日期

时间:2016-04-21 17:20:30

标签: php mysql

在MySQL中,我有两个日期: birth_date 作为出生日期, date_starb 作为死亡日期。 从表中我需要的所有人只选择死者和死者的年龄:

$sql = "SELECT members.*, TIMESTAMPDIFF(YEAR,'birth_date','date_starb') AS age FROM members WHERE (date_starb != 0)"; //select only dead peoples

查询处理:

<?php
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// Fetch a result row as an associative array
while($row = $result->fetch_assoc()) {
?>
<td><?php echo $row["name"];?></td>
<td><?php echo date("j. F Y", strtotime($row["birth_date"]));?></td>
<td><?php echo date("j. F Y", strtotime($row["date_starb"]));?></td>
<td><?php echo $row["age"];?></td>
<?php
}
}
else
{
echo "0 results";
}
$conn->close();
?>

结果,我得到了正确的出生和死亡行数,名称和日期,但是在<#> 年龄&#34;我没有结果。页面也没有看到错误消息。

有些解决方案吗?谢谢你的回答。

1 个答案:

答案 0 :(得分:2)

您不需要在'

中换行字段名称
$sql = "SELECT members.*, TIMESTAMPDIFF(YEAR,birth_date,date_starb) AS age FROM members WHERE (date_starb != 0)"; //select only dead peoples

否则MySQL将它们视为字符串