防止价值进入负数

时间:2014-09-26 15:36:50

标签: php mysql

我创建了这个代码,该代码应该阻止值进入负数。

$makezero = "
SELECT stats.id
     , stats.gold
     , stats.gems
     , users.id
     , stats.attack
     , stats.defense
     , units.worker
     , units.warrior
     , units.archer
     , users.username 
  FROM stats
     , users
     , units 
 WHERE users.username = '$username' 
   AND stats.id = users.id;
";
$zero = mysqli_query($con,$makezero);
$gold = mysqli_fetch_array($zero, MYSQL_ASSOC);
$attack5 = $gold['attack'];
$defense5 = $gold['defense']; 
$worker5 =  $gold['worker'];
$warrior5 =  $gold['warrior'];
$archer5 =  $gold['archer'];
$gems5 = $gold['gems'];

if ($attack5 < 0) $attack5 = 0;
if ($defense5 < 0) $defense5 = 0;
if ($worker5 < 0) $worker5 = 0;
if ($warrior5 < 0) $warrior5 = 0;
if ($archer5 < 0) $archer5 = 0;
if ($gems5 < 0) $gems5 = 0;

正如你所看到的,它应该看看这个值,看看它是否低于0,如果是,则将其返回0.但它没有:(我把它放在标题中,因为它包含在每个页面中,所以无论什么页面,你的统计数据永远不会低于0

简单,因为那真的大声笑帮助?

1 个答案:

答案 0 :(得分:0)

发现问题

它说的地方

$attack5 = 0;

那是将$ attack5设置为0,而不是数据库中的实际攻击

通过更改为

进行修复
$update_unit = mysqli_query($con,"UPDATE stats SET stats.attack = 0 WHERE stats.id=$id555");