Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.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_Laravel 5 - Fatal编程技术网

Php 查询以按匹配日期获取详细信息

Php 查询以按匹配日期获取详细信息,php,mysql,laravel-5,Php,Mysql,Laravel 5,您好,我已将字符串转换为日期格式,并尝试按日期匹配,获取客户详细信息,但没有匹配项 $beginTimeStamp = "1524853800"; $endTimeStamp = "1525717800"; $beginTime = date('Y-m-d', $beginTimeStamp); $beginTimeStamp = date('Y-m-d', strtotime($beginTime . ' +1 day')); $endTime = date('Y-m-d', $

您好,我已将字符串转换为日期格式,并尝试按日期匹配,获取客户详细信息,但没有匹配项

 $beginTimeStamp =  "1524853800";
 $endTimeStamp = "1525717800";
 $beginTime = date('Y-m-d', $beginTimeStamp);
 $beginTimeStamp = date('Y-m-d',  strtotime($beginTime . ' +1 day'));
 $endTime = date('Y-m-d', $endTimeStamp);
 $endTimeStamp = date('Y-m-d',  strtotime($endTime . ' +1 day'));

 $userDetails = DB::select('SELECT * from users where created_at >='.$beginTimeStamp.' AND created_at <= '.$endTimeStamp.'');
当我使用PHP变量时,日期是通过下面的SQL查询来的。

@Maneesh Rao

代码中似乎很少出现语法错误

$endTime=date'Y-m-d',$endTimeStamp缺少分号


“从在>=”处创建的用户中选择*。$beginTimeStamp.”和在处创建的t1.created\u您的日期看起来不错,它们是sql格式的

缺少的分号我想这只是复制粘贴中的一个错误,否则会出错

$userDetails = DB::select("SELECT * from users where created_at >={$beginTimeStamp} AND created_at <= {$endTimeStamp}");
尝试此查询。我认为错误来自于您试图将变量与查询连接起来的方式,以及您没有用双引号括起查询的方式

此查询还应适用于以下情况:

$userDetails = DB::select("SELECT * from users where created_at >='$beginTimeStamp' AND t1.created_at <= '$endTimeStamp'");

整个查询用双引号括起来,变量用单引号括起来。

您使用的是Laravel,因此请使用查询生成器和Carbon:


t1表是从哪里来的?很抱歉,它是在发布问题时错误地写的。很抱歉。发布问题时出现语法错误。现在我已经编辑了代码。请检查一下。谢谢王子。这是双引号错误。很高兴我帮了忙。如果我的答案解决了您的问题,请接受我的答案。要接受我的答案,您必须在我的答案分数下选择勾号符号。否则,此问题将被标记为没有答案,以供将来与您有相同问题的用户使用。好的,谢谢您的指导。
$userDetails = DB::select("SELECT * from users where created_at >='$beginTimeStamp' AND t1.created_at <= '$endTimeStamp'");
$beginTimeStamp =  "1524853800";
$endTimeStamp = "1525717800"; 
$userDetails = DB::table("users")
     ->where("created_at", ">=",  Carbon::createFromTimestamp($beginTimeStamp)->addDay())
     ->where("created_at", "<=",  Carbon::createFromTimestamp($endTimeStamp )->addDay())
     ->get();