2013-05-06 46 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