簡體   English   中英

sql 查詢以在日期大於 x 時進行選擇 給出解析錯誤 < 意外

[英]sql query to select when dates are greater than x givin parse error < unexpecter

我正在嘗試從 php 腳本中獲取結果,這會在瀏覽器中返回一個白頁。 所以我在命令行中使用 php 來查看哪些錯誤被拋回給我,我得到一個解析錯誤,如下所示:

syntax error, unexpected '>' in file at line 42

第 42 行是 WHERE 語句下的行,但我用 between 替換了 teh <= 但仍然向我發送關於此 <= 的完全相同的解析錯誤,而它不再存在。 這是在似乎有問題的地方使用的腳本。

$this_sql = "(SELECT
    *
FROM
    " . $db_table . "
WHERE
    field_date BETWEEN '" . date('Y-m-d H:i:s', $start_date)) . "' AND '" . date('Y-m-d H:i:s', $end_date + 60) . "')";

我試圖理解為什么 '>' 會拋出一個解析錯誤,而它是有效的 SQL,除了錯誤,我的括號彼此關閉得很好。 我希望這是有道理的。

您創建字符串$this_sql括號在執行時破壞了查詢(對於許多$this_sql括號,從而導致parsesyntax錯誤):

嘗試

$this_sql = "(SELECT * FROM " . $db_table . 
            "WHERE field_date BETWEEN '" . 
            date('Y-m-d H:i:s', $start_date) . 
            "' AND '" . 
            date('Y-m-d H:i:s', $end_date + 60) ."')";

您應該能夠將$this_sql的值$this_sql回 sql 進行測試。 應該給你一個字符串

結果

(選擇 * 從
你的桌子
WHERE field_date
在“2015-06-01 12:00:00”和“2015-09-01 12:00:00”之間)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM