如果以前有人问过这个问题,我真的很抱歉,我已经尽了最大的努力,没有任何类似的问题能回答我的问题……
我想制造一种抽奖.我有一个由成员和他们的条目组成的数据库表,并且我试图将他们的名字插入到另一个数据库表中,重复的次数和他们各自的条目数量一样多。
现在我已经查找了()循环,据我所能理解的,我的代码的这种尝试应该是有效的:
$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,但它仍然一直在继续。)
发布于 2014-01-04 21:56:46
我敢打赌,您的$amount变量包含一个对象。
作为PHP手动状态,当使用比较运算符时,对象总是被认为大于一个数字。
在另一个现实中,PHP可能会因为做愚蠢的比较而向您发出警告,但由于某种原因,在我们的宇宙中,它没有。
这很可能有一个简单的解释和/或一个很好的理由,但现在我想不出任何。
https://stackoverflow.com/questions/20927072
复制相似问题