我使用php访问2个表中的字段。
这部分工作得很好
$sql=mysql_query('SELECT * FROM user_weeks WHERE user_id = '.$_SESSION["user_id"].' ORDER BY date DESC') or die(mysql_error());
通过这样做我得到的日期很好
$infodate=$info["date"];
echo $infodate;
然而,我正试图将该日期与其他表格中的日期进行比较
$sql2=mysql_query('SELECT * FROM weekly_ROI WHERE date = '.$infodate.' ') or die(mysql_error());
然而,这没有给我任何结果。我是个菜鸟很抱歉,如果这个代码是如此“2000年又迟到”
答案 0 :(得分:3)
假设两个日期字段都是日期类型,您需要在反引号中包装名称日期,因为日期是保留字,您需要将日期用引号括起来。
$sql2=mysql_query('SELECT * FROM weekly_ROI WHERE `date` = "'.$infodate. '"') or die(mysql_error());
此外,不推荐使用mysql_ *函数。您需要研究使用PDO或mysqli来查询数据库。
答案 1 :(得分:2)
date 是保留字用于包装在反引号`date
中$sql2=mysql_query('SELECT * FROM weekly_ROI WHERE `date` = "'.$infodate.'" ') or die(mysql_error());
答案 2 :(得分:0)
据推测,您在查询中使用了标准yyyy-mm-dd
类型的日期字符串,这意味着您在日期值周围缺少引号:
$sql2=mysql_query('SELECT * FROM weekly_ROI WHERE date = '.$infodate.' ')
^--here ^-- here
您的查询将如下所示
... WHERE date = 2013-12-18
并被评估为简单的数学减法:
... WHERE date = 1983
你需要引用:
.... date = "' . $infodate . '"');
^-- ^--