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();