2010-09-27 76 views
1
for($j = 0 ; $j < 87; $j++){ 

    echo $j.'<br/>'; 
    $unique = mt_rand(0,100000000); 

    $insert_data = 'INSERT INTO uniques(uniq) VALUES ("'.$unique.'")'; 

     mysqli_query($conn , $insert_data); 

     echo $unique.'<br />'; 

} 

我只是想隨機數插入表獨特。但是上面的代碼有問題。它在86的總循環時工作得很好,並且在86以上循環時得到兩次插入。PHP。「INSERT INTO」通過PHP mysqli_query運行兩次!

非常感謝!

我不是說我得到了重複的隨機數。但似乎「INSERT INTO」在我的php代碼中運行兩次!

+0

看來firefox會造成問題。它在Chrome或其他瀏覽器中工作正常。 – qinHaiXiang 2010-09-27 15:39:25

+0

Firefox,或者特別是螢火蟲?如果您運行的是Firebug,請將其禁用並查看問題是否仍然存在。 – 2010-09-27 15:55:41

+0

我禁用了螢火蟲並重新運行代碼。問題仍然存在! – qinHaiXiang 2010-09-27 23:37:13

回答

1

mt_rand(0,100000000)只是返回一個介於1100000000之間的隨機數,它不會跟蹤以前生成的隨機數,因此您可以獲得重複數據。

如果你想確保你只在DB插入唯一值,「將不得不保持產生的隨機數的歷史,並保持通話mt_rand,直到你得到一個獨特的一個。