Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.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_Database_Date - Fatal编程技术网

php-如何返回带有日期比较的行

php-如何返回带有日期比较的行,php,mysql,sql,database,date,Php,Mysql,Sql,Database,Date,我试图从我的数据库返回一行信息,其中当前日期介于我在数据库中保存的两天之间,也就是说,它们仍然在度假。 目前,我已经编写了下面的代码,但似乎没有返回任何内容,即使在我的数据库中有一次旅行,今天介于开始日期和结束日期之间 $today = date("Y-m-d"); $sql = "SELECT * FROM trips WHERE id =$user_id_session AND date1 < $today && date2 > $today"; $today=

我试图从我的数据库返回一行信息,其中当前日期介于我在数据库中保存的两天之间,也就是说,它们仍然在度假。 目前,我已经编写了下面的代码,但似乎没有返回任何内容,即使在我的数据库中有一次旅行,今天介于开始日期和结束日期之间

$today = date("Y-m-d");
$sql = "SELECT * FROM trips WHERE id =$user_id_session AND date1 < $today && date2 > $today";
$today=日期(“Y-m-d”);
$sql=“从旅行中选择*,其中id=$user\u id\u session和date1<$today&&date2>$today”;

在my db表中,有两个字段,分别是date1和date2,用于存储旅行的开始日期和结束日期。

日期是字符串,因此如果要将变量直接放入查询中(不应该这样做,而应该使用prepared语句),则需要在其周围加上单引号。此外,您可能需要检查它是否小于/大于或等于今天

$sql = "SELECT * FROM trips WHERE id =$user_id_session AND date1 <= '$today' && date2 >= '$today'";
$sql=“SELECT*FROM trips,其中id=$user\u id\u session和date1='$today';

此外,如果用户ID会话变量是字符串,则还需要在其周围加上单引号。

日期是字符串,因此,如果要将变量直接放入查询中(不应该这样做,而应该使用准备好的语句),则需要在其周围加上单引号。此外,您可能需要检查它是否小于/大于或等于今天

$sql = "SELECT * FROM trips WHERE id =$user_id_session AND date1 <= '$today' && date2 >= '$today'";
$sql=“SELECT*FROM trips,其中id=$user\u id\u session和date1='$today';

此外,如果您的用户ID会话变量是字符串,您也需要在其周围加上单引号。

您需要在日期变量周围加上引号。日期1的类型是什么?
date1
date2
?格式与Y-m-DY相同,您需要在日期变量周围加上引号,日期1的类型是什么,
date2
?格式与Y-m相同-d@eth3king没问题。根据我自己的经验,通常是这样的小东西。:)@Eth3请注意,如果您愿意,请将答案标记为已接受(复选标记)。这显然对我有帮助,但也向其他人表明问题已经得到了回答。:)yeh soz,我在等待时间限制过去,然后才能接受它作为答案,但是forgot@eth3king是的,没问题。我不知道为什么会有这样的限制,但我也这么做@没问题。根据我自己的经验,通常是这样的小东西。:)@Eth3请注意,如果您愿意,请将答案标记为已接受(复选标记)。这显然对我有帮助,但也向其他人表明问题已经得到了回答。:)yeh soz,我在等待时间限制过去,然后才能接受它作为答案,但是forgot@eth3king是的,没问题。我不知道为什么会有这样的限制,但我也这么做