2017-01-04 67 views
0

你能幫我解答下面的問題嗎?Postgres在php中查詢日期變量

PHP代碼://

$countdate='2017-01-03'; 
$countsql='SELECT rucid,"databaseType","countLoggedOn","prodCount","nprodCount","countType" FROM "ru_countLog" WHERE "countLoggedOn"=$countdate'; 

- >它給語法錯誤

語法錯誤達到或接近 「$」 LINE 1:... untType」 FROM 「ru_countLog」 WHERE 「countLoggedOn」= $ countdate

+0

語法錯誤:... untType」 FROM 「ru_countLog」 WHERE 「countLoggedOn」= $ countdate –

回答

0

也許你應該嘗試這樣

$countdate='2017-01-03'; 
$countsql='SELECT rucid,"databaseType","countLoggedOn","prodCount","nprodCount","countType" FROM "ru_countLog" WHERE "countLoggedOn"='.$countdate; 

希望這有助於

1

從查詢中刪除內部雙引號:

$countsql = "SELECT rucid, databaseType, countLoggedOn, 
      prodCount, nprodCount, countType 
      FROM ru_countLog 
      WHERE countLoggedOn = $countdate"; 

注意這個查詢很容易受到SQL注入。考慮參數化$countdate。隨着http://php.net/manual/en/function.pg-query-params.php,這將成爲

$countsql = 'SELECT rucid, databaseType, countLoggedOn, 
     prodCount, nprodCount, countType 
     FROM ru_countLog 
     WHERE countLoggedOn = $1'; 

$result = pg_query_params($dbconn, $countsql, array($countdate)); 

其中$dbconn是你的數據庫連接或接近 「$」 LINE 1

+0

'$ countdate'不會在您的第一個代碼示例中被解釋,因爲它在單引號字符串中。 – ceejayoz