2016-06-22 18 views
-1

私はsqliteデータベースの最後の非常に多くの日だけを含むように選択を変更しようとしていますが、解析エラーが発生しています。Sqlite3 phpの解析エラーの日付範囲を選択

ここではコードのセクションですが、元のコマンド$ results =はコメントアウトされており、2番目のエラーが発生します。ここ

$db = new SQLite3($_SERVER['DOCUMENT_ROOT'].'/yieldbuddy/www/sql/yieldbuddy.sqlite3'); 
    $db->busyTimeout(2000); 
    #$results = $db->query('SELECT * FROM Sensors_Log'); 
    $results = $db->query('SELECT * FROM Sensors_Log WHERE Time >= DateTime('now','-14 days')'); 
    $rownum=0; 

    while ($row = $results->fetchArray()) { 

    $Time_array[$rownum] = $row[0]; 
    $pH1_array[$rownum] = $row[1]; 

は、テーブルsensors_logの最初の列は、時間と呼ばれ、基本的には列が時間内と呼ばれている日時にフォーマットのタイムスタンプである

PHP Parse error: syntax error, unexpected 'now' (T_STRING) in /var/www/yieldbuddy/www/graphs_2.php on line 128 

ページに表示しようとするとき、私は得続けるエラーですデータベース。私はGoogleのvisulizaitonにデータを渡しているが、私はすべてのレコードを選択した場合、あまりにも多くのデータとページがクラッシュする。私はGoogleに渡されたデータセットを制限しようとしています。

何が間違っているのかは構文エラーですが、どこにエラーがあるのか​​わかりません。

答えて

0

documentationは言う:

バックスラッシュ(\)でエスケープし、リテラル単一引用符を指定します。

ので:

$db->query('SELECT * FROM Sensors_Log WHERE Time >= DateTime(\'now\',\'-14 days\')'); 
関連する問題