我已经找到了这个问题,但是找不到它,我有一个脚本给我这个警告警告:在/ home / on 52.php中除零 - 你可以看到{{3}上的错误}
如果你看下面,$ pages = ceil($ total / $ _GET [p]); //页数是第52.php行
你能帮忙吗?谢谢// get total number of entries for pagenation
$result = mysql_query("SELECT COUNT(*) FROM $dblist $where", $link);
$total = mysql_fetch_array($result); $total = $total[0]; // total number of listings
$pages = ceil($total / $_GET[p]); // number of pages
}
答案 0 :(得分:2)
解决此问题的最佳方法是在进行除法之前检查$_GET['p']
是否为0,如:
$pages = ($_GET['p']==0) ? 1 : ceil($total / $_GET['p']);
如果$pages
为0,我想要$_GET['p']
的任何内容(我在上面的示例中假设为1)
答案 1 :(得分:1)
$_GET[p]
可能未定义。你应该检查它是否存在:
if(isset($_GET['p'])) {
$p = (int) $_GET['p'];
// Your code
if($p != 0)
$pages = ceil($total / $p);
else {
// Do errorhandling e.g. setting $page = 0
}
}
另请注意,您应始终使用$_GET['p']
代替$_GET[p]
。
答案 2 :(得分:1)
您应该使用$_GET['p']
而非$_GET[p]
(请注意')
我刚查看了您的网站并看到了错误。如果未将$_GET['p']
变量提供给回退值,则不会将其设置为回退值。
当您访问http://usedcarsforsaleingauteng.com/时,您会看到错误,但不会看到:http://usedcarsforsaleingauteng.com/?p=1
您应该有一个后备值:
if($_GET['p']){
$page = $_GET['p'];
} else{
$page = 1;
}
$pages = ceil($total / $page);