需要从日期1到日期2

时间:2016-03-17 17:56:18

标签: php mysql date

我的代码上有这个结构

   $query=mysql_query("SELECT * FROM kontratat WHERE 
uid=".$userRow['user_id'] WHERE data BETWEEN '".$fillo."' AND '".$mbaro."');

我收到了这个错误

  

"解析错误:语法错误,意外情况' WHERE' (T_STRING)在/*.php上   第50行"

我知道这是错误的,因为我正在努力解决这个问题,如果我删除了"WHERE uid=".$userRow['user_id']"

但我需要从一个 USERID ex

中选择两个日期

ex我在db上有这个表:

ID - UID - 日期 - 姓名 - 国家/地区

1 - 2 - 2016-03-11 - ALesio - 比利时

2 - 2 - 2016-03-17 - 亚历克斯 - 德国

3 - 3 - 2016-03-12 - 乔治 - 英格兰

我以UID 2身份登录,但我只需查看我的行,而不是来自用户ID 3和日期之间

这样的事情:     SELECT * FROM表,其中uid = 3,日期介于' mm / dd / yyyy'和' mm / dd / yyyy'

我对此进行了测试,但它没有工作。

在谷歌上搜索了很多,但直到现在都没有。

任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

检查一下它是否可行

 $query=mysql_query("SELECT * FROM kontratat WHERE uid=".$userRow['user_id']." WHERE data BETWEEN '".$fillo."' AND '".$mbaro."');

答案 1 :(得分:0)

您需要将日期存储为Y-m-d格式。

我假设你的数据库表字段是og类型“date”,即Y-m-d格式。

试试这个:

$str = '24/12/2013';
$fillo_new = DateTime::createFromFormat('d/m/Y', $fillo);
$fillo_new = $date->format('Y-m-d');

$mbaro_new = DateTime::createFromFormat('d/m/Y', $mbaro);
$mbaro_new = $date->format('Y-m-d');

$query = "SELECT * FROM table where uid=3 and date between '".$fillo_new ."' and '".$mbaro_new ."' ";

希望这有帮助。

和平!的xD