[英]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.