2017-06-15 12 views
1

は、私は、データベースするSQLite3 ::クエリ構文エラー

<?php 
require_once ("db.php"); 
$db = new MyDb(); 

if (isset($_POST['limit']) && isset($_POST['start'])) { 

$start = $_POST["start"]; 
$limit = $_POST["limit"]; 

$query =<<<EOF 
SELECT * FROM questions ORDER BY quiz_id DESC '$start', '$limit'; 
EOF; 

$result = $db->query($query); 

while ($row = $result->fetchArray(SQLITE3_ASSOC)) { 
    echo 'div class="quesbox"> 
    <div class="questitle"> 
     <h2>'.$row["question"].'</h2> 
    </div> 
    <div class="quesanswer">'.$row["answer"].'</div> 
    <div class="quesdatetime"><img src="images/questime.png" alt="export question">'.$row["date"].'</div> 
    </div>'; 
} 

} 
?> 

からデータを取得するために、このPHPコードを持っているが、私はこのコードのブロックを実行するたびに、私はすべて試してみました

Warning: SQLite3::query(): Unable to prepare statement: 1, near "'0'": syntax error in C:\xampp\htdocs\xport\searchfetch.php on line 14 

Fatal error: Call to a member function fetchArray() on a non-object in C:\xampp\htdocs\xport\searchfetch.php on line 16 

これらのエラーを取得します可能性のある方法私はqueryステートメントを編集して問題を修正することを知っているが役に立たない。どこから問題があるのか​​教えてください。どんな助けもありがとう。

+0

を忘れてしまった 'エコー$のクエリを実行してください;'。明らかにクエリに何か問題があります。 –

+0

これは 'echo'の結果です。SELECT * FROM questions ORDER BY quiz_id DESC '0'、 '7'; '私は、7が限界であるデータベースからデータを取得する際の制限を設定しようとしています – diagold

答えて

2

あなたはLIMIT

$query =<<<EOF 
SELECT * FROM questions ORDER BY quiz_id DESC LIMIT '$start', '$limit'; 
EOF;