我正在创建分页脚本,由于某种原因,mysqli_query返回FALSE。
$limit = "LIMIT " . ($pn - 1) * $itemsPerPage . "," . $itemsPerPage;
$sql = 'SELECT * FROM blogs ORDER BY BlogID DESC $limit';
$query2 = mysqli_query($connection, $sql);
当我在Echo $ 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中工作。
请帮助!
答案 0 :(得分:0)
$ sql 发生变量冲突, 改变这个,
$sql = 'SELECT * FROM blogs ORDER BY BlogID DESC $limit';
$query2 = mysqli_query($connection, $sql);
as
$sqlnew = 'SELECT * FROM blogs ORDER BY BlogID DESC '.$limit;
$query2 = mysqli_query($connection, $sqlnew);
答案 1 :(得分:0)
$ limit不会转换为变量的相应值
像这样设置$ sql:
$sql = 'SELECT * FROM blogs ORDER BY BlogID DESC '.$limit;
答案 2 :(得分:0)
你把$ 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";
它会起作用。