我正在尝试从日期所在的 MySql 服务器获取条目> date_begin and < date_end
我的问题是表列“ date
”设置为VARCHAR
,我正在比较的字符串也直接来自<input type="text"/>
mysql 表和文本框中的日期格式(字符串/varchar)将是DD.MM.YYYY
我的问题是,如果我这样做
(PHP代码)
$query = "SELECT * FROM table WHERE date>='" . $dateBegin . "' AND date<='" . $dateEnd . "'";
结果将是完全随机的。
我知道为什么会发生这种情况,所以问题是:我如何比较它以获得正确的结果?
感谢所有可以提供帮助的人
更新 :
现在我已经尝试了这个解决方案,但它也不起作用。
$query = "SELECT * FROM artikel WHERE STR_TO_DATE(datum, '%d.%m.%Y')>=STR_TO_DATE('" . $_REQUEST['dateTo'] . "', '%d.%m.%Y')" . "' AND STR_TO_DATE(datum, '%d.%m.%Y')<=STR_TO_DATE('" . $_REQUEST['dateTo'] . "', '%d.%m.%Y')";
$_REQUEST['dateFrom']
and$_REQUEST['dateTo']
来自 2 个文本框,输入是这样的字符串"05.06.2005"
。
在 db-table 'artikel'(文章的德语)中,'datum'(日期的德语)列中的值是具有相同格式(“05.06.2005”)的 VARCHAR。