PHP中的日期和格式问题

时间:2016-03-11 12:15:39

标签: php mysqli

我是新来的,这是我的第一个问题。嗯,这就是:

我需要做的是创建一个PHP,将数据库(mysqli查询)中的生日(日期)数组与实际日期(特别是月和日,因明显原因忽略年份)进行比较,以便确认"今天这个人的生日是#34;通过回声或其他东西。

我无法从sql数组格式化日期。这是我到目前为止所得到的:

<?php

$link = mysqli_connect("localhost", "root", "", "employees");
$actualdate = date('md');


if (mysqli_connect_errno()) {
    printf("Conection failed: %s\n", mysqli_connect_error());
    exit();
}

$query = "SELECT BirthDate FROM Birthdays";


if ($result = mysqli_query($link, $query)) {

     while ($row = mysqli_fetch_row($result)) {

        if (in_array($actualdate, $row)) {
        echo "Birthday!";
        } else {
        echo "No birthday";         
        }

     }

     mysqli_free_result($result);
}

mysqli_close($enlace);

?> 

事先感谢,并为这些烦恼感到抱歉。

2 个答案:

答案 0 :(得分:2)

假设BirthDate存储为DATE。我可能只会选择今天的生日:

SELECT BirthDate 
FROM Birthdays 
WHERE DAY(BirthDate) = DAY(NOW()) AND MONTH(BirthDate) = MONTH(NOW());

答案 1 :(得分:0)

如果你还想回声&#34;没有生日&#34;您需要检查数据库中的日期格式。通常,MySQL中的日期格式为 YYYY-MM-DD 。因此,您需要将日期创建代码更改为

$actualdate = date('Y-m-d');

那样做..否则你可以选择@ jim的答案,只获得今天的生日。