2017-12-13 29 views
1

私はmysqlテーブルを作成し、それに何らかのデータを入力するはずのphpスクリプトを持っています。ランダムを使用するPHPスクリプトは毎回同じ出力を返します

カラムの質問は、コードの前半で定義した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と配列を使って動作させることができませんでした。私は後でそれを変更しますので無視してください。 質問がPRIMARY_KEYしたがって表はそれに応じてソートされている:間違いを見つけ

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

$ AutoIncの値は何ですか?それが拾われたことを確認するためにそれを印刷してください。 – swa66

+1

問題ではありません。それをしましょう12 – Vahan

+1

[MCVE](https://stackoverflow.com/help/mcve)を作成してください。私が作った値を差し込むと、うまくいくように思えます。しかし、それがあなたが実際にやっていることを表しているかどうかは分かりません。 [ここをクリック](http://sandbox.onlinephpfunctions.com/code/34f7e4dca8eba0cf6cce5c1c601a310d3dbf84ff)。 Protip:変数補間でクエリを作成するときに、生成されたクエリをエコーアウトし、実際に期待するものかどうかを確認します。 –

答えて

0

。 私はUNIQUEにQuestionを設定しました。

関連する問題