Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.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
Php 正在尝试在两个日期之间查找记录_Php_Mysql_Sql - Fatal编程技术网

Php 正在尝试在两个日期之间查找记录

Php 正在尝试在两个日期之间查找记录,php,mysql,sql,Php,Mysql,Sql,我的问题是这样的 WHERE `Project`.`user_id` = 9 AND `Project`.`project_status` = 1 AND `Project`.`project_type_id` = 4 AND `Project`.`approval_date` >= '01/08/2012' AND `Project`.`approval_date` <= '01/12/2012' 其中`Project`.`user\u id`=9 和'Pr

我的问题是这样的

WHERE `Project`.`user_id` = 9 
  AND `Project`.`project_status` = 1 
  AND `Project`.`project_type_id` = 4
  AND `Project`.`approval_date` >= '01/08/2012' 
  AND `Project`.`approval_date` <= '01/12/2012'
其中`Project`.`user\u id`=9
和'Project`.'Project_status`=1
和'Project`.'Project\u type\u id`=4
和“项目”.“批准日期”>=“2012年8月1日”

和'Project`.'approval_date`您应该使用以下命令将'01/08/2012'和'01/12/2012'转换为MySQL日期/时间值

e、 g


您应该使用以下命令将'01/08/2012'和'01/12/2012'转换为MySQL日期/时间值

e、 g


这实际上只是查询的一部分——任何“中间人”的工作方式都不同于您所暗示的——以下是MySQL手册的摘录:

•如果expr大于或等于最小值,则expr介于最小值和最大值之间 expr小于或等于max,介于返回值1之间,否则为
返回0。这相当于表达式(min这实际上只是查询的一部分——任何“between”的工作方式都不同于您所暗示的——以下是MySQL手册的摘录:

•如果expr大于或等于最小值,则expr介于最小值和最大值之间 expr小于或等于max,介于返回值1之间,否则为
返回0。这相当于表达式(min,乍一看它似乎可以工作,但是您提供的值不是有效的日期时间。请尝试此操作

WHERE `Project`.`user_id` = 9 
AND `Project`.`project_status` = 1 
AND `Project`.`project_type_id` = 4
AND `Project`.`approval_date` >= '2012-01-08 00:00:00' 
AND `Project`.`approval_date` <= '2012-01-12 00:00:00'
其中`Project`.`user\u id`=9
和'Project`.'Project_status`=1
和'Project`.'Project\u type\u id`=4
和“项目”。“批准日期”>=“2012-01-08 00:00:00”

和'Project`.'approval\u date`乍一看似乎应该可以使用,但是您提供的值不是有效的datetime。请尝试此操作

WHERE `Project`.`user_id` = 9 
AND `Project`.`project_status` = 1 
AND `Project`.`project_type_id` = 4
AND `Project`.`approval_date` >= '2012-01-08 00:00:00' 
AND `Project`.`approval_date` <= '2012-01-12 00:00:00'
其中`Project`.`user\u id`=9
和'Project`.'Project_status`=1
和'Project`.'Project\u type\u id`=4
和“项目”。“批准日期”>=“2012-01-08 00:00:00”

和'Project`.'approval\u date`您仍然可以在

WHERE `Project`.`user_id` = 9 
AND `Project`.`project_status` = 1 
AND `Project`.`project_type_id` = 4
AND (`Project`.`approval_date` BETWEEN '2012-01-08 00:00:00' AND '2012-01-12 23:59:59')

您仍然可以在

WHERE `Project`.`user_id` = 9 
AND `Project`.`project_status` = 1 
AND `Project`.`project_type_id` = 4
AND (`Project`.`approval_date` BETWEEN '2012-01-08 00:00:00' AND '2012-01-12 23:59:59')

我的主要问题是将字符串格式化为datetime。kissmyface在正确构造它以便mysql能够理解方面是正确的。所以我在发送它之前使用php将其转换

"Project.approval_date >= '".date("Y-m-d H:i:s", strtotime($start))."'";
"Project.approval_date <= '".date("Y-m-d H:i:s",strtotime($end))."'";
“项目批准日期>=”。日期(“Y-m-d H:i:s”,标准时间($start))。”;

“Project.approval\u date我的主要问题是将字符串格式化为datetime。kissmyface在正确构造它以便mysql能够理解方面是正确的。因此我在发送之前使用php将其转换

"Project.approval_date >= '".date("Y-m-d H:i:s", strtotime($start))."'";
"Project.approval_date <= '".date("Y-m-d H:i:s",strtotime($end))."'";
“项目批准日期>=”。日期(“Y-m-d H:i:s”,标准时间($start))。”;


“Project.approval\u date“approval\u date”字段使用的数据类型尝试逐个应用每个搜索条件,直到没有返回行,这将有助于找到问题。如果没有一些示例数据,很难回答您的问题。@kissmyface-基于OP之前的问题--这是一个日期时间。”column@Mark谢谢哥伦布:-)MySQL服务器是在什么语言环境下运行的?如果MySQL将日期视为“dd/mm/yyyy”,而您依赖的是“mm/dd/yyyy”或“approval\u date”字段使用的是什么数据类型,则可能会出现问题。请逐个应用每个搜索条件,直到没有返回任何行,这将有助于找到问题。很难回答您的问题stion没有一些样本数据。@kissmyface-基于OP之前的问题-这是一个日期时间column@Mark谢谢Columbo:-)MySQL服务器是在什么语言环境下运行的?如果MySQL将日期视为'dd/mm/yyyy',而您依赖'mm/dd/yyyy'或visa versaOk,这可能是一个问题,这正是我想要的。是否可以使用
STR_to_DATE()
函数转换为日期时间格式??因为我想考虑时间因素。我尝试使用php date()格式化日期<代码>日期(“Y-m-d H:i:s”,$start)我正在使用JQUERY获取日期。值$start=01/02/2012。由于某种原因,我得到下面的错误<代码>遇到了一个格式不正确的数值,PHP返回了“<代码> 1969—12 31 19:00∶01 < /代码>的格式化日期。您是否使用JQuery UI数据包?好的,这就是我想要的。是否可以使用
STR_to_DATE()
函数转换为日期时间格式??因为我想考虑时间因素。我尝试使用php date()格式化日期<代码>日期(“Y-m-d H:i:s”,$start)我正在使用JQUERY获取日期。值$start=01/02/2012。出于某种原因,我遇到了以下错误
一个格式不正确的数值
,php返回格式化日期`
1969-12-31 19:00:01
您是否有可能使用jquery UI datepicker?有时结束日期或开始日期不可用时,我仍然可以使用中间日期。我仍然可以使用有时结束日期和开始日期不可用。我想我的问题可能是我比较了日期格式的字符串和日期时间格式的列。我可能需要首先将字符串转换为datetime。请看下面我对kissmyface Response的评论我想我的问题可能是我比较了日期格式的字符串和日期时间格式的列。我可能需要首先将字符串转换为datetime。请看下面我对kissmyface回应的评论,这可能有用。唯一的问题是我需要格式化到日期。当我试着去听你说的话时,但没用<代码>Project.Project\u type\u id=4和Project.approval\u date>=STR\u TO\u date('01/02/2012','%Y-%m-%d%H:%i:%s')和Project.approval\u date您必须定义格式掩码,以匹配可能有效的日期字符串的实际格式。唯一的问题是我需要格式化到日期。当我试着去听你说的话时,但没用<代码>Project.Project\u type\u id=4和Project.approval\u date>=STR\u TO\u date('01/02/2012','%Y-%m-%d%H:%i:%s')和Project.approval\u date您必须定义格式掩码以匹配日期字符串的实际格式