搜索数据库失败

时间:2012-04-03 02:50:53

标签: php mysql

我想在数据库表中查找注册日期等于4-22的人。

我的sql看起来像这样

function GetUsers($dreg)
{
    $dt=(new DateTime($dreg))->format('Y-m-d');
    $result=$this->query("SELECT * FROM tablex WHERE dreg='$dt'");
    return ($this->getNumRows()>0)?$result:null;
}

然而,sql结果不正确,因为我只需要在员工注册年份的时候获得月份和日期。

2 个答案:

答案 0 :(得分:2)

您必须比较日期和月份而不是整个日期:

function GetUsers($dreg)
{
    $dt=(new DateTime($dreg))->format('m-d');
    $result=$this->query("SELECT * FROM tablex WHERE DATE_FORMAT(dreg, '%m-%d') = '$dt'");
    return ($this->getNumRows()>0)?$result:null;
}

答案 1 :(得分:0)

您可以将日期的两边转换为字符串然后进行比较。