gpt4 book ai didi

php - 永不结束 for() 和 while() 循环

转载 作者:可可西里 更新时间:2023-11-01 07:37:15 25 4
gpt4 key购买 nike

如果之前有人问过这个问题,我真的很抱歉,我在这里已经尽我所能,但没有一个类似的问题能回答我的问题......

我正在尝试创建各种抽奖...我有一个成员及其条目的数据库表,我正在尝试将他们的名字重复插入到另一个数据库表中,重复次数与他们的个人条目数量一样多.

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

$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 可能会在您进行愚蠢的比较时向您发出警告,但出于某种原因,在我们这个宇宙中它不会。

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

关于php - 永不结束 for() 和 while() 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20927072/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com