我有一个名为gameschedules的数据库和一个名为dec1212的表。此表的内部是按此顺序排列的date (YYYY-MM-DD)
,division
,field
,time
,team1
和team2
列。
我已经在我的页面上显示了数据,但是我需要将其限制为仅在我的数据库中显示日期等于当前日期的行。因此,如果有10行,并且只有5行在日期列中具有今天的日期,则只显示那些行。这是我当前的查询代码,我知道这是错误的,但如果有人可以帮我纠正它会很棒:
当前代码:
//specifies that it is getting data from the table and limited num rows
$result = mysql_query("SELECT * FROM `dec1212` LIMIT 0, 10 ") or die(mysql_error());
我试图按日期限制数据:
//set variable to current date with same format as date column
$myDate = date('Y-m-d');
//pull only rows that match the current date
$result = mysql_query("SELECT * FROM 'dec1212' WHERE date = $myDate()") or die(mysql_error());
我知道我的代码不正确所以这就是我寻求帮助的原因。
答案 0 :(得分:3)
尝试这只是一个信号线查询
$result = mysql_query('SELECT * FROM dec1212 WHERE DATE(CONVERT_TZ(date,"+00:00","-8.00")) = DATE(CONVERT_TZ(UTC_TIMESTAMP(),"+00:00","-8.00"))') or die(mysql_error());**
答案 1 :(得分:2)
$myDate = date('Y-m-d');
//pull only rows that match the current date
$result = mysql_query("SELECT * FROM `dec1212` WHERE date = '$myDate'") or die(mysql_error());
试试这个
答案 2 :(得分:1)
$result = mysql_query("SELECT * FROM `dec1212` WHERE `date` = CURDATE()") or die(mysql_error());
答案 3 :(得分:0)
试试这个
//set variable to current date with same format as date column
$myDate = date('Y-m-d');
//pull only rows that match the current date
$result = mysql_query("SELECT * FROM 'dec1212' WHERE date = $myDate") or die(mysql_error());
答案 4 :(得分:0)
你使用的是变量而不是函数所以只需像这样改变
$myDate = date('Y-m-d');
$result = mysql_query("SELECT * FROM 'dec1212' WHERE date = '$myDate'") or die(mysql_error());
答案 5 :(得分:0)
确保数据库中的日期字段包含唯一的日期,而不是时间
$result = mysql_query("SELECT * FROM 'dec1212'
WHERE `date`= '$myDate'") or die(mysql_error());
如果您的日期字段包含datetime数据类型,则使用:
$result = mysql_query("SELECT * FROM 'dec1212'
WHERE `date`= date('$myDate')") or die(mysql_error());
答案 6 :(得分:0)
让数据库完成工作,
SELECT * FROM `dec1212` WHERE DATE(date) = DATE(NOW())
答案 7 :(得分:0)
请注意$myDate
是变量,而不是函数。因此,您的代码将是:
//set variable to current date with same format as date column
$myDate = date('Y-m-d');
//pull only rows that match the current date
$result = mysql_query("SELECT * FROM `dec1212` WHERE date = '$myDate'") or die(mysql_error());
表名或字段名称应使用carat`包装,而不是单引号'
,或者您可以省略它。
如果你想使用MySQL NOW()
,你需要考虑Raj Mohan提到的时区转换。