PHP警告:gameq中被零除

问题描述 投票:0回答:1

我在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";}
php warnings division
1个回答
0
投票

之所以这样,是因为$max_players的值为0。将代码放在try / catch块中:

try {
 $rank_pts = $server_rank_pts + ($num_players/$max_players);
} catch(Exception $e) {
  print($e->getMessage());
}

通过这种方式,您可以捕获运行时发生的错误。

© www.soinside.com 2019 - 2024. All rights reserved.