2013-05-06 43 views
0

我有一個表格,將數據插入數據庫。其中一個字段是weDate這與PHP mysql_query()手動輸入日期的作品PHP變量不

$weDate=date('Y-m-d',strtotime('Friday')) 

填寫如果我使用以下命令:

$sql = mysql_query("SELECT ID as 'DB_ID', 
         partnumber as 'Part_Number', 
         pndesc as 'Part Number Description', 
         name as 'Name', 
         reason as 'Reason', 
         comment as 'Comments', 
         date as 'Date', 
         time as 'Time', 
         weDate as 'Weekend Date' 
        FROM $table 
        WHERE weDate = '2013-05-03'"); 

我得到的返回結果。

當我嘗試:

$sql = mysql_query("SELECT ID as 'DB_ID', 
         partnumber as 'Part_Number', 
         pndesc as 'Part Number Description', 
         name as 'Name', 
         reason as 'Reason', 
         comment as 'Comments', 
         date as 'Date', 
         time as 'Time', 
         weDate as 'Weekend Date' 
        FROM $table 
        WHERE weDate = '$weDate2'"); 

我得不到任何回報。爲什麼?

的PHP變量是:

$weDate2 = date('Y-m-d', strtotime('-1 weeks Friday') 
+6

[**請不要在新代碼中使用'mysql_ *'函數**](http://bit.ly/phpmsql)。他們不再被維護[並且被正式棄用](http://j.mp/XqV7Lp)。看到[**紅框**](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。如果你選擇PDO,[這裏是一個很好的教程](http://j.mp/PoWehJ)。 – Kermit 2013-05-06 19:00:00

+1

您指的是哪個星期五?如果你運行'date('Y-m-d',strtotime('Friday'))',你會得到'2013-05-10'。 – Terry 2013-05-06 19:00:12

+1

您是否嘗試回顯$ weDate2以查看實際輸出的內容?我敢打賭,問題在於它實際上在輸出什麼,而不是你期望它輸出什麼。 – 2013-05-06 19:01:01

回答

3

strtotime("Friday")返回即將到來的週五,也就是5月10日。這不是硬編碼查詢中的5月3日。

+0

Right ..had在我的文章中張貼不正確的代碼。已更新。 – Tony 2013-05-06 20:14:49