我只想在使用PHP的SQL中比较月份和年份,但是当我在SQL查询中仅使用月份和年份时,唯一的结果是00-00-0000。
$mounth = date("Y-m", time());
$histmessql = "SELECT * FROM historico WHERE data = $mounth";
答案 0 :(得分:1)
我认为您必须将SQL查询更新为:
$histmessql = "SELECT * FROM historico WHERE data like '%$mounth%'";
using =,这将获取一个完整的等式,而您必须使用like
,下面是示例:
WHERE CustomerName LIKE 'a%'
查找以“ a”开头的任何值
WHERE CustomerName LIKE '%a'
查找以“ a”结尾的任何值
WHERE CustomerName LIKE '%or%'
查找在任何
位置
WHERE CustomerName LIKE '_r%'
查找包含“ r”的任何值
第二名
WHERE CustomerName LIKE 'a_%_%'
查找以“ a”开头的所有值
且长度至少为3个字符
WHERE ContactName LIKE 'a%o'
查找以“ a”开头的所有值,
以“ o”结尾
答案 1 :(得分:0)
我假设您数据库中的data
列是任何日期/日期时间。按照这种假设,我认为您可以使用DATE_FORMAT(date,format)
函数,并且您的代码看起来像
$mounth = date("Y-m", time());
$histmessql = "SELECT * FROM historico WHERE DATE_FORMAT(data, '%Y-%m') = '$mounth'";
您可以阅读更多 https://dev.mysql.com/doc/refman/5.6/en/date-and-time-functions.html#function_date-format