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