我创建了这个代码,该代码应该阻止值进入负数。
$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
简单,因为那真的大声笑帮助?
答案 0 :(得分:0)
发现问题
它说的地方
$attack5 = 0;
那是将$ attack5设置为0,而不是数据库中的实际攻击
通过更改为
进行修复$update_unit = mysqli_query($con,"UPDATE stats SET stats.attack = 0 WHERE stats.id=$id555");