php
  • mysql
  • 2014-01-22 29 views 0 likes 
    0

    我有一個從mysql數據庫中提取信息的php就好了,但是當我嘗試添加功能來檢查數據(取決於時間間隔)時,我沒有從數據庫獲取任何數據,只是以空的結果回覆。當我在Phpmyadmin中運行它時,它工作得很好。下面的代碼:帶有時間間隔的PHP Mysql查詢

    $result = mysql_query(" 
        SELECT * FROM SensorLog 
        WHERE (SensorTag='$requestedSensor' and TimeEntered<'$end' 
         and TimeEntered>'$start'); 
    ") or die(mysql_error()); 
    

    開始和結束的形式是:在數據庫中的2014年1月22日十五時36分37秒,就像我的時間戳列。

    我在這裏做錯了什麼?我認爲查詢有問題,但我無法弄清楚什麼。

    +0

    字段存儲日期或VARCHAR? – Mihai

    +1

    'mysql_query'是一個過時的界面,不應該在新的應用程序中使用,並且將在未來版本的PHP中刪除。像[PDO這樣的現代化替代品並不難學](http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/)。如果你是PHP的新手,像[PHP The Right Way](http://www.phptherightway.com/)這樣的指南可以提供幫助。 – tadman

    +0

    我不確定最後的';'應該在那裏。 – tadman

    回答

    0

    同樣可以使用BETWEEN子句如下來實現:

    $result = mysql_query("SELECT * FROM SensorLog 
    WHERE (SensorTag='$requestedSensor' and TimeEntered BETWEEN '$end' AND '$start')") or die(mysql_error()); 
    
    0

    如果日期開始和結束日期具有相同的值,查詢應該是TimeEntered >= $start and TimeEntered <= $end

    +0

    他們沒有相同的價值,這不會完成太多。 – user3221406

    相關問題