简体   繁体   English

PHP警告:除以零错误

[英]PHP Warning: Division by zero error

I getting this error and not sure how to fix it. 我收到此错误,不确定如何解决。 Line 162 is the first line in the php code. 第162行是php代码中的第一行。 I looked at some of the related questions and all my quote marks seem to be in the right place 我看了一些相关的问题,所有引号似乎都在正确的位置

Per page:
<input type=text name=per_page value="<?php echo $en['per_page']; ?>" size=6> 
Go to page:
<select name=page size=1>

<?php 
$pages = ceil(sql_num_rows($result)/$en['per_page']); 
for ($k=1;$k<=$pages;$k++) 
   echo '<option value='.$k.($en[page] == $k ? ' selected':'').'>'.
     $k.'</option>';

echo '</select>';   
if ($en[page]<$pages) 
   echo '<input type=submit name=next value="Next page">';
?>

$en['per_page']的值是$en['per_page'] (我猜是零)

Try to echo $en['per_page'] and make sure it's got the correct value. 尝试echo $en['per_page']并确保它具有正确的值。 (I bet it doesnt). (我敢打赌不会)。

Unrelated: $en[page] Should probably be $en['page'] (assuming page is really not a constant) 无关: $en[page]可能应该是$en['page'] (假设页面实际上不是常数)

Because you cannot have a denominator value of 0. 因为分母值不能为0。

Check the value of $en['per_page'] > 0 prior to applying it to a division. 在将其应用于除法之前,请检查$ en ['per_page']> 0的值。

Any time you divide by a variable, if the variable is 0 you will get that error. 任何时候除以变量,如果变量为0,就会得到该错误。

The way to prevent it would be to check to ensure that $en['per_page'] is not zero, since that appears to be your only division and is probably where your problem is. 防止这种情况的方法是检查以确保$ en ['per_page']不为零,因为这似乎是您的唯一除法,并且很可能是问题所在。

If you're getting a divide by zero error, then $en['per_page'] may not be correct. 如果您得到除以零的错误,则$en['per_page']可能不正确。 It's probably a zero value. 可能是零值。


Also, all your HTML attributes need to be in quotes. 另外,所有HTML属性都必须用引号引起来。 For example: 例如:

 
 
 
 
  
  
  <input type=text name=per_page
 
 
  

Should be: 应该:

$en[page]

Your array indexes should be quoted too. 您的数组索引也应加引号。

$en['page']

Should be: 应该:

 $en['page'] 

Here is the solution: 解决方法如下:

Per page: 每页:

<input type=text name=per_page value="<?php echo $en['per_page']; ?>" size=6> 

Go to page: 转到页面:

<?php 
$pages = @ceil(sql_num_rows($result)/$en['per_page']); 
for ($k=1;$k<=$pages;$k++) 
   echo '<option value='.$k.($en[page] == $k ? ' selected':'').'>'.
     $k.'</option>';

echo '</select>';   
if ($en[page]<$pages) 
   echo '<input type=submit name=next value="Next page">';
?>

Just used @ before ceil / division. 刚刚在ceil /除法之前使用@。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM