为什么我的if语句跳过了我的else语句?
我有一段代码,每20分钟一个系统任务运行一个SQL查询,并添加到我的一个数据库表(票据)中。 我有,如果如果声明这应该找到比数(票),并用它来让某人“从我的商店”购买物品。 它允许用户购买更多的物品,而不是他们有票(把他们的平衡带到负面),就像它完全跳过我的其他声明一样。有什么我做错了吗?为什么我的if语句跳过了我的else语句?
还以为我要补充的“入场券”栏中的INT和不喜欢的,VARCHAR或任何
的东西也是,就在几个小时前的工作完美,所以林不知道,如果我补上一通过意外,但现在它不工作
在看,这里的问题是: “如果($奖励> 4)”
<div class="box">
<div class="contentHeader headerGreen">
<div class="inside">
5 Tickets
</div>
</div>
<ul>
<img src="/swf/c_images/album1584/2015HA.gif" align="right">
<li>25k Credits</li>
<li>25k Pixels</li>
<li>5 Diamonds
</ul>
<?php
if(isset($_POST['buy1'])) {
$getRewards = mysql_query("SELECT tickets FROM users WHERE id = '" . $_SESSION['user']['id'] . "'");
while($rewards = mysql_fetch_assoc($getRewards)) {
if($rewards > 4) {
mysql_query("UPDATE users SET tickets = tickets-5 WHERE id = '" . $_SESSION['user']['id'] . "'") or die(mysql_error());
mysql_query("UPDATE users SET credits = credits+25000 WHERE id = '" . $_SESSION['user']['id'] . "'");
mysql_query("UPDATE users SET activity_points = activity_points+25000 WHERE id = '" . $_SESSION['user']['id'] . "'");
mysql_query("UPDATE users SET vip_points = vip_points+5 WHERE id = '" . $_SESSION['user']['id'] . "'");
echo '
<div class="alert alert-sucess">
<strong>Well Done!</strong> Your items have been added.
</div>';
}
else if($rewards < 5) {
echo '
<div class="alert alert-error">
<strong>Error:</strong> You Do NOT Have Enough Tickets To Buy This
</div>';
}
/*else {
echo '
<div class="alert alert-error">
<strong>Error:</strong> You Do NOT Have Enough Tickets To Buy This
</div>';
}*/
}
}
?>
<form method='post'>
<input type="submit" value="Buy" name="buy1" style="width: 138px;cursor: pointer;" />
</form>
</div>
请参阅mysql_fetch_assocs的工作原理。它返回一个数组。无论你在sql中指定了多少个字段 - 它总是一个数组。
还做print_r
和您的变量echo
,看看里面是什么,当它不工作。
if ($rewards["tickets"] > 4)
{
}
else if ($rewards["tickets"] < ....
$ getRewards = mysql_query(“SELECT票据FROM用户WHERE id ='”。$ _ SESSION ['user'] ['id']。“'”); 是不是已经选择“门票”虽然? –
http://php.net/manual/ru/function.mysql-fetch-assoc.php有示例,请仔细阅读示例。 是的,你告诉只选择门票,但没关系,如果你选择一个或几个字段,它的行为总是相同的。更少的字段 - 更快的SQL查询,但它代表了同样的方式在php – Dimash
此外,你们都不是第一个,你知道你可以做print_r($奖励)来看看里面是什么?!它被称为 - 调试 – Dimash
__everyone__可以在这里发布的代码。所以,请___做出努力并贴上它。 –
'var_dump($奖励)'。它看起来像一个数组,而不是你想到的值。 – aynber
尝试了几次,只是格式化它很奇怪。 T-T –