2014-11-25 161 views
0
for($nr = 0; $nr < 2; $nr++){ 

     print $nr; print(gettype($nr)); // prints 0integer 

     $result = mysqli_query($con,"SELECT * FROM phcdl_files 
     ORDER BY file_id DESC LIMIT '$nr',1") 
     or die(mysqli_error($con)); 
    } 

試圖運行上面的查詢,但由於語法,我遇到了麻煩。 運行它在PhpMyAdmin與限制0,1然而,SELECT ... LIMIT 0,1語法錯誤

任何想法是什麼問題?

+0

它會給你錯誤嗎? – 2014-11-25 10:07:28

+2

您錯誤地在'$ nr'值附近放置了引號。而是使用帶有參數的預備語句。 – Dai 2014-11-25 10:07:30

+0

@Dai:與LIMIT條款一起使用的綁定參數存在問題。只要它是一個整數 - 對它進行消毒並直接進入查詢是微不足道的。 – zerkms 2014-11-25 10:08:24

回答

4

嘗試 -

"SELECT * FROM phcdl_files ORDER BY file_id DESC LIMIT $nr,1" 
1

我認爲這個問題是您要添加引號圍繞0

你的SQL查詢應該是這樣的:

"SELECT * FROM phcdl_files ORDER BY file_id DESC LIMIT $nr, 1" 
0

刪除$ nr單引號查詢

QUERY = "select * from tb_name order by id desc limit $nr , 1"