插入时变量的值不同

时间:2014-05-17 15:14:11

标签: php random

我想生成一对随机数1234567890-9876543210(每个10位数) 我做了这个代码。它工作正常它生成一对随机数但是如果我尝试将其插入数据库我多次得到相同的结果。假设我不止一次得到1234567890。如果我回显insert语句,我会得到不同的结果,但是当我想将它查询到数据库时,我会得到相同的结果。

$numbers = array(0,1,2,3,4,5,6,7,8,9);
srand(time());
$f = fopen('sql0.txt', 'w');

for($i=0;$i<100000;$i++)
{

   $r = NULL;
   $r2 = NULL;

   for($x=0;$x<10;$x++)
   {
       $n = rand(0,9);
       $r .= $numbers[$n];
    }

    for($x=0;$x<10;$x++)
    {
       $n1 = rand(0,9);
       $r2 .= $numbers[$n1];
    }

    echo("INSERT INTO ci_codes VALUES (NULL, '$r', '$r2', '0')<br>");

}

1 个答案:

答案 0 :(得分:0)

你需要循环中的INSERT表达式吗?这可能会造成麻烦。

正如其他人所提到的,最好只使用php函数生成一次数字,然后运行MySql查询。

$r = mt_rand(0, 10000000);
$r2 = mt_rand(0, 10000000);

echo("INSERT INTO ci_codes VALUES (NULL, '$r', '$r2', '0'");