Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php ()和while()循环永无止境_Php_Mysql - Fatal编程技术网

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());
}