我想查找注册日期等于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结果不正确,因为我只需要获取雇员注册的月份和日期而不是年份。
最佳答案
您只需要比较日期和月份,而不要比较整个日期:
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;
}
关于php - 通过数据库搜索失败,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9986495/