2009-11-14 91 views
1

首先,我使用MySQL的DATE_ADD函数。当试图在php中使用$sqlA时,由于某种原因(主要是WHERE之后的区域),它表示语法错误。为什么?PHP和MYSQL:为什么A工作和B不工作?

$sqlA = "SELECT $column_name FROM $table_name WHERE Date >= DATE_ADD(CURDATE(), - INTERVAL 3 DAY)"; 

但是,它的工作原理没有DATE_ADD:

$sqlB = "SELECT column FROM table WHERE Date >= CURDATE() - INTERVAL 3 DAY "; 

通知我把列名,表名$sqlB?那么,我试着用PHP代替它,并且失败了。它说语法错误,为什么?

$sqlC = "SELECT $column_name FROM $table_name WHERE Date >= CURDATE()-INTERVAL 3 DAY"; 

回答

2

你不能在INTERVAL前面的负号。改为使用DATE_SUB