Php ()和while()循环永无止境
我真的很抱歉,如果以前有人问过这个问题,我在这里已经尽了最大的努力,没有一个类似的问题能回答我的问题 我正试图创造一种抽奖方式。。。我有一个包含成员及其条目的数据库表,我正试图将他们的名字重复插入另一个数据库表,次数与他们个人的条目数量相同 现在我已经查找了()循环,就我所能理解的而言,我的代码的这一尝试应该是有效的:Php ()和while()循环永无止境,php,mysql,Php,Mysql,我真的很抱歉,如果以前有人问过这个问题,我在这里已经尽了最大的努力,没有一个类似的问题能回答我的问题 我正试图创造一种抽奖方式。。。我有一个包含成员及其条目的数据库表,我正试图将他们的名字重复插入另一个数据库表,次数与他们个人的条目数量相同 现在我已经查找了()循环,就我所能理解的而言,我的代码的这一尝试应该是有效的: $Amount = mysql_query("SELECT * FROM reapingbowl WHERE userid = $reapablef->id") or di
$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());
}
这也是一样的,只是不断地输入名字。。。我真的很抱歉,如果我是愚蠢的或什么,但请有人能帮我找出原因吗
希望这就是所有必要的代码。我真正想知道的是为什么for()循环永远不会结束。。。(我在其他地方尝试过,限制为10,但它仍然一直持续下去)我打赌,您的
$amount
变量包含一个对象
例如,在使用比较运算符时,对象始终被视为大于数字
在另一个现实中,PHP可能会因为你做了愚蠢的比较而向你发出警告,但出于某种原因,在我们这个宇宙中,它不会
很可能有一个简单的解释和/或一个很好的理由,但现在我想不出任何解释。你怎么知道它永远不会结束?你能
var_dump()
$amount
?在for循环之前添加var\u dump($amount)
@Elizabeth,如果$amount
不存在,那就是您的问题。也要检查php错误日志,因为它可能有一些有用的信息。还要注意,$amount
是整数而不是字符串。$amount
不是整数,因此您的条件失败,因为$amount
的计算值似乎总是大于$e
。
$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());
}