php – 永远不会以()和while()循环结束

我真的很抱歉,如果以前曾经问过这个问题,我已经尽可能地看到了这里,没有类似的问题回答我的…

我正在尝试创建各种各样的抽奖活动…我有一个成员及其条目的数据库表,我正在尝试将其名称重复插入另一个数据库表中,其次数与其单独的条目数量相同.

现在我已经查找了()循环,据我所知,我的代码尝试应该有效:

$Amount = mysql_query("SELECT * FROM reapingbowl WHERE userid = $reapablef->id") or die(mysql_error());


$reapablef = mysql_query("SELECT * FROM members");
  $reapablef = mysql_fetch_object($reapablef);
 $amount = $reapablef->entries

for($e = 1; $e < $amount; $e++)
{ 
mysql_query("INSERT INTO reapingbowl (userid) VALUES ($reapablef->id)") or 
die(mysql_error()); 
}

其中$amount先前已定义为从数据库中提取条目金额,$reapablef先前已定义为从数据库表中提取特定用户.整个事情包含在一个while循环中,一次只能对一个用户起作用.

我的问题只是这个for()循环永远不会结束.根据我的理解,它应该在条目数量取代$e值之后结束,但它只是继续下去,我不明白为什么……我有另一个for()循环的类似问题我不明白为什么.

我尝试了一个while循环,编码是这样的:

$Amount = mysql_query("SELECT * FROM reapingbowl WHERE userid = $reapablef->id") or die(mysql_error());


while ($amount = mysql_num_rows($Amount), $amount < $ENTRIES)
{
mysql_query("INSERT INTO reapingbowl (userid) VALUES ('$reapablef->id')") or
die(mysql_error());
}

这也是做同样的事情,只是继续进行无休止地输入名字…我真的很抱歉,如果我是愚蠢或什么但请有人帮我弄清楚为什么?

希望这是所有必要的代码.所有我真正想知道的是为什么for()循环不会结束…(我已经在其他地方以10的限制尝试了它,它仍然只是永远地继续)

最佳答案 我敢打赌,你的$amount变量包含一个对象.

作为PHP manual states,当使用比较运算符时,始终将对象视为大于数字.

在另一个现实中,PHP可能会对你进行愚蠢的比较发出警告,但出于某些原因,在我们这个宇宙中,它并没有.

很可能有一个简单的解释和/或一个很好的理由,但现在我想不出任何.

点赞