ファイルindex.phpに次のコードがあります。
include('db_connect.php'); //Here's the script that provides mysql connection to a database
$a = round(rand(1,100));
$b = round(rand(160,202));
$c = round(rand(50,110));
$d = round(rand(1,99999));
$sql = "INSERT INTO sInstance (p1,p2,p3,p4) VALUES ('".$a."','".$b."','".$c."','".$d."')";
$result = mysql_query($sql) or die(mysql_error());
明らかに、ランダムに値を生成し、レコードとして MyISAM データベース テーブルsInstanceに挿入します。
問題: ~1000 レコードが生成および挿入された後、(一意の値のセットを使用して) 新しいレコードを生成することはほとんど不可能です。すべての新しいレコードは、古いレコードのクローンです (p1-p2-p3-p4 の値は同じです)。
質問: これを回避し、php に一意のレコードを生成させるにはどうすればよいですか?
手がかり: これは PHP のサーバー側の問題です。おそらく、RAND() 関数を使用して設定された値を何らかの方法でキャッシュします。問題は、ブラウザにも mysql 自体にも関連していません。