2
我试图限制使用变量的结果数量,我设置了它们,并且它仍然返回所有结果,即使我设置了限制。SQL限制返回所有结果
// Results Per page
$limit = 3;
// Page Number
$p=$_GET['p']=="" ? 1:$_GET['p'];
$start=($p-1)*$limit;
// Query
$sql=$conn->prepare("SELECT * FROM adverts WHERE status = 2 ORDER BY ref LIMIT :start, :limit");
$sql->bindValue(':limit', $limit, PDO::PARAM_INT);
$sql->bindValue(':start', $start, PDO::PARAM_INT);
$sql->execute();
$data=$sql->fetch();
?>
<section id="advert-listings">
<div class="container page-wrapper">
<div class="col-md-8 advert-listing">
<?php
print_r ($sql);
echo $start;
echo $limit;
?>
<?php if ($sql->rowCount()!=0) : ?>
<?php foreach ($adverts as $advert) : ?>
<div class="caption">
<ul>
<li><i class="fa fa-moon-o"></i> Sleeps: <?= $advert['news']; ?></li>
<li><i class="fa fa-paw"></i> Pets: <?= $advert['header']; ?></li>
<li><i class="fa fa-key"></i> Ref: <?= $advert['ref']; ?></li>
</ul>
</div>
<?php endforeach; ?>
<?php endif; ?>
正如你可以看到我附和$limit
& $start
其返回0,3
应当结果限制为3 0开始
IIRC,你不能使用绑定瓦尔的LIMIT参数 –
什么的'bindValue()'调用返回?如果我是一个博彩人,我会说'假'...如果你从不检查错误,那么这样的事情会发生很多。 –
绑定值是一个int,因此它应该在极限参数中工作 – Sam