【发布时间】:2015-10-26 04:29:58
【问题描述】:
PHP代码定义变量sqlshowvalue
$sqlshowvalue = 5;
if(isset($_POST['showmore'])) {
$sqlshowvalue += 5;
}
所以我连接到我的数据库,然后当我使用上面刚刚定义的变量运行下面的 SQL 查询时,
$result = mysqli_query($conn,"SELECT * FROM comments ORDER BY id DESC limit '$sqlshowvalue'");
所以我使用 mysqli 作为连接到我的数据库的方法,它给了我以下错误:
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in ..
它给我这个错误的原因是因为我的查询中有问题,它必须做的是 $sqlshowvalue,因为如果我只用数字 5 替换 sqlshowvalue(如下所示),它可以正常工作:
$result = mysqli_query($conn,"SELECT * FROM comments ORDER BY id DESC limit 5");
所以我只是想知道我能做些什么来使限制的值是一个 PHP 变量,我可以更改它并更新页面。
【问题讨论】:
-
从
$sqlshowvalue中删除'',比如DESC limit $sqlshowvalue"); -
您应该始终检查
$result,它是资源还是布尔值。如果查询失败,则返回FALSE。 -
在 SQL 中,在关键字 LIMIT 之后,需要一个数字而不是字符串,它必须被引用。