2017-06-15 48 views
1

我有這樣的PHP代碼從數據庫的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>'; 
} 

} 
?> 

獲得的數據,但我每次運行這段代碼時我得到這些錯誤

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;