簡體   English   中英

MySQL選擇大於某個日期時間的所有記錄

[英]Mysql select all records that are greater than some date time

我想從date1大於其他date2表中選擇所有記錄。 Date1是MySQL中的datetime字段。 Date2是PHP中的datetime對象。 我不僅要比較日期,還要比較時間。 這是我不工作的查詢。

$sql = 'SELECT t.* 
        from transire t 
        where t.returning > '.$transire->returning.';';

錯誤:

Message: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error
in your SQL syntax; check the manual that corresponds to your MySQL server version 
for the right syntax to use near '' at line 1

好的,我明白了,我不能像那樣比較php datetime對象,但是正確的方法是什么? 當然可以使用Date(t.returning),但我也需要當天的時間。 當前日期時間之后的所有事件。 我搜索並找到了一些答案,但沒有一個對我有幫助。 謝謝 !

應該是這樣的:

$sql = 'SELECT t.* from transire t where t.returning > "'.$transire->returning.'";';

在PHP中為變量使用雙引號,並在日期前后添加單引號:

$sql = "SELECT t.* from transire t where t.returning > '".$transire->returning."'";

並通過轉義變量來避免SQL注入。

暫無
暫無

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

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