Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 列的日期时间值不正确:“2017-11-%”_Mysql - Fatal编程技术网

Mysql 列的日期时间值不正确:“2017-11-%”

Mysql 列的日期时间值不正确:“2017-11-%”,mysql,Mysql,我试图从输入字符串(如YYYY-MM)指定的月份中选择记录。所以我只在查询中输入$yearMonth- 它会产生以下警告: 数据时间值不正确 但这个问题似乎运作良好 我想这不是100%正确的方法,但这显然是一个非常简单和容易的方法,而且非常有效。。。我需要麻烦吗 如果是这样,最简单的解决方法是什么 <?php $month = "2017-11"; $query = "SELECT * from table WHERE dates LIKE '{$month}-%' ?> 日期的

我试图从输入字符串(如YYYY-MM)指定的月份中选择记录。所以我只在查询中输入$yearMonth-

它会产生以下警告:

数据时间值不正确

但这个问题似乎运作良好

我想这不是100%正确的方法,但这显然是一个非常简单和容易的方法,而且非常有效。。。我需要麻烦吗

如果是这样,最简单的解决方法是什么

<?php
$month = "2017-11";

$query = "SELECT * from table WHERE dates LIKE '{$month}-%'
?>

日期的数据类型为DATETIME

您可以尝试此解决方案


对年份的处理方式相同,因此您可以获得结果

您不应该将字符串与日期进行比较。比较相同的数据类型向我们展示正在运行的整个查询,如果它包含插值PHP变量,则向我们展示要运行的整个原始查询的示例。我添加了代码示例。
SELECT create_date FROM table WHERE MONTH(create_date) = X