首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从不结束for()和while()循环

问从不结束for()和while()循环
EN

Stack Overflow用户
提问于 2014-01-04 21:38:02
回答 1查看 192关注 0票数 4

如果以前有人问过这个问题,我真的很抱歉,我已经尽了最大的努力,没有任何类似的问题能回答我的问题……

我想制造一种抽奖.我有一个由成员和他们的条目组成的数据库表,并且我试图将他们的名字插入到另一个数据库表中,重复的次数和他们各自的条目数量一样多。

现在我已经查找了()循环,据我所能理解的,我的代码的这种尝试应该是有效的:

代码语言:javascript
复制
$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循环,代码如下:

代码语言:javascript
复制
$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,但它仍然一直在继续。)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-04 21:56:46

我敢打赌,您的$amount变量包含一个对象。

作为PHP手动状态,当使用比较运算符时,对象总是被认为大于一个数字。

在另一个现实中,PHP可能会因为做愚蠢的比较而向您发出警告,但由于某种原因,在我们的宇宙中,它没有。

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20927072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档