我有将值存储到变量中的查询。然后将变量用于除法,然后用于回声。但问题是,某个时候数据库中的选定值有一个值,有时它不存在,因为数据库中没有任何内容。当数据库中始终存在值时,我不会收到错误消息,但是当没有值时我会得到。
然后我收到此错误:
警告:除以零 第104行的D:\ home \ site \ wwwroot \ devlopment \ respondents2.php
第104行是$result00= round($sum/$total*100);
这是我的代码
$result = mysqli_query($mysqli,"SELECT rid, pid, firstname, lastname, email FROM temp_members_db WHERE pid='$pid1' ");
echo "<table><tr><th>Namn</th><th>E-mail</th><th>Resultat</th><th>Ta bort kandidat</th></tr>";
while($row = mysqli_fetch_array($result))
{
$count= "SELECT COUNT(qid) AS 'Total' FROM result WHERE rid=".$row['rid']."";
$result01 = mysqli_query($mysqli, $count);
$resultArr01 = mysqli_fetch_array($result01);
$total= $resultArr01[0]*10;
$pointsummary= "SELECT SUM(points) AS 'Summary' FROM result WHERE rid=".$row['rid']."";
$result02 = mysqli_query($mysqli, $pointsummary);
$resultArr02 = mysqli_fetch_array($result02);
$sum= $resultArr02[0];
$result00= round($sum/$total*100);
$_SESSION['res'] = $row['rid'];
echo "<tr><td><strong>
<form action='respondent2.php' method='GET'>
<input type='hidden' name='rid' value='".$row['rid']."'>
<input type='hidden' name='firstname' value='".$row['firstname']."'>
<input type='submit' name='submit' value='".$row['firstname']." ".$row['lastname']."'>
</form>
</strong></td>
<td>".$row['email']."</td>
<td><strong>".$result00."%</strong></td>
</td></tr>"; }
我想我可能应该尝试“if empty statement”但是当我尝试时我没有修复它并得到一个空白页面。我希望回应同样的事情,因为$result00
有时可能有价值,有时却没有。我只想删除没有任何error_reporting(0);
的错误消息。
答案 0 :(得分:2)
你应该这样做
$result00 =
($total != 0 ? round($total*100/$sum) : 0);
答案 1 :(得分:1)
您需要做的就是检查您的变量是否为零。如果是,您可以直接显示零而不是计算它(导致除以零警告)。
一个简单的三元运算符可以解决这个问题
$result00 = ($total != 0 ? round($sum/$total*100) : 0);
您应该对可能包含零的所有结果执行此操作。
阅读&#34;三元运营商&#34;在下面的链接中详细了解这些工作原理。