使用random的PHP脚本每次都返回相同的输出

时间:2017-12-13 21:01:58

标签: php random

我有一个php脚本应该创建一个mysql表并用一些数据填充它。

列问题应填充1和$ AutoInc之间的随机数,我在前面的代码中定义。 出于某种原因,我总是最终得到同样的问题:

Question is allways 1 2 3 4 5 6 7 8 9 10 11 12

我试图在数字之间睡觉并使用rand()和random_int()而不是mt_rand()这些都没有用。

PS:我知道$ statement3是非常编码的。出于某种原因,我无法使用Questionmarks和数组来使其工作。我稍后会改变它,所以请忽略它。

$usedQuestionsArray = array();
$AutoInc = 12;
for ($x = 0; $x <= 11; $x++) {
    $randomNum = mt_rand(1, $AutoInc);
    while(in_array($randomNum, $usedQuestionsArray)){
        $randomNum = mt_rand(1, $AutoInc);
    }
    array_push($usedQuestionsArray, $randomNum);
    $statement3 = $pdo->prepare("INSERT INTO match" . $ID ." (Question, P" . 
$Player1 . ",P" . $Player2 . ") VALUES (" . $randomNum . ",0,0);");
    $statement3 = $statement3->execute();
}

1 个答案:

答案 0 :(得分:0)

发现错误: 问题是PRIMARY_KEY因此表格相应地排序。 我将问题设置为UNIQUE现在正在工作。