簡體   English   中英

Mysqli_query無故返回FALSE

[英]Mysqli_query returns FALSE without reason

我正在創建分頁腳本,由於某種原因mysqli_query返回FALSE。

$limit = "LIMIT " . ($pn - 1) * $itemsPerPage . "," . $itemsPerPage; 
            $sql = 'SELECT * FROM blogs ORDER BY BlogID DESC $limit';
            $query2 = mysqli_query($connection, $sql);    

當我回顯$ limit時,它返回0,2,所以LIMIT WORKS,當我回顯$ sql時,它返回:SELECT * FROM blogs ORDER BY BlogID DESC 0,2,由於某種原因,query2返回FALSE而不是true,因此我可以不在頁面上打印我想要的東西。

while($row = mysqli_fetch_array($query2)){
                echo '<b style="font-size: 15pt; text-align: center">' . $row[3] . '</b><br/>
                <p style="text-align: justify"> ' . $row[4] . ' </p> <hr>';
            }

這是代碼的另一部分...我不知道為什么這行不通,因為行:SELECT * FROM blogs ORDER BY BlogID DESC 0,2在phpMA中起作用。

請幫忙!

發生$ sql變量沖突,對此進行更改,

$sql = 'SELECT * FROM blogs ORDER BY BlogID DESC $limit';
            $query2 = mysqli_query($connection, $sql); 

$sqlnew = 'SELECT * FROM blogs ORDER BY BlogID DESC '.$limit;
            $query2 = mysqli_query($connection, $sqlnew); 

為什么要面對這個問題

$ limit不會轉換為變量的相應值

像這樣設置$ sql:

$sql = 'SELECT * FROM blogs ORDER BY BlogID DESC '.$limit;

您將$ limit變量放在''中,這意味着PHP不會解析它,因此查詢是錯誤的。

http://php.net/manual/en/language.types.string.php#language.types.string.syntax.single上閱讀更多內容

更改

$sql = 'SELECT * FROM blogs ORDER BY BlogID DESC $limit';

$sql = "SELECT * FROM blogs ORDER BY BlogID DESC $limit";

它會工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM