[英]php mysql comparing dates for equality
我正在使用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及之后”
假设两个日期字段均为日期类型,则需要将名称日期用反引号引起来,因为日期是保留字,并且需要将日期用引号引起来。
$sql2=mysql_query('SELECT * FROM weekly_ROI WHERE `date` = "'.$infodate. '"') or die(mysql_error());
另外,不建议使用mysql_ *函数。 您需要研究使用PDO或mysqli查询数据库。
date是保留字,用于包装反引号`date
$sql2=mysql_query('SELECT * FROM weekly_ROI WHERE `date` = "'.$infodate.'" ') or die(mysql_error());
大概您在查询中使用了标准的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 . '"');
^-- ^--
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.