我在PHP中使用2个错误警告:除以零。我应该怎么办?
我也在代码1上尝试过此版本,但它不起作用:
if ($max_players > 0) {
$rank_pts = $server_rank_pts + ($num_players/$max_players);
}
代码1
if($data['gq_online'] == "1"){
$num_players = mysql_real_escape_string($data['gq_numplayers']);
$max_players = mysql_real_escape_string($data['gq_maxplayers']);
This is error divison : $rank_pts = $server_rank_pts + ($num_players/$max_players);
}
在代码2中,我尝试了此版本,但在这里也不起作用
if($max_players > 0) {
$rankz = $server_rankz + ($num_players/$max_players);
}
代码2
$sql = "SELECT sum( num_players ) as `suma`, sum( max_players ) as `maxp`
FROM `servers`
WHERE
`id` IN (SELECT `srid` FROM `com` WHERE `comzid` = '{$id}')";
$tmp = mysql_fetch_assoc( mysql_query( $sql ) );
This is error divis : $rankz = $tmp['rankz'] + $tmp['suma'] / $tmp['maxp'];
$players = $tmp['suma'];
if($players == "0") {$players = "000";}
之所以这样,是因为$max_players
的值为0。将代码放在try / catch块中:
try {
$rank_pts = $server_rank_pts + ($num_players/$max_players);
} catch(Exception $e) {
print($e->getMessage());
}
通过这种方式,您可以捕获运行时发生的错误。