带有while循环的php函数

Hal*_*jan -1 php function while-loop

我有一个生成随机组合的函数.

我的函数看起来像这样:

  function random_gen($length) {
  $random= "";
  srand((double)microtime()*1000000);
  $char_list = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  $char_list .= "abcdefghijklmnopqrstuvwxyz";
  $char_list .= "1234567890";
  // Add the special characters to $char_list if needed

  for($i = 0; $i < $length; $i++)
  {
    $random .= substr($char_list,(rand()%(strlen($char_list))), 1);
  }
  return $random;
}

$new_url = random_gen(6);
Run Code Online (Sandbox Code Playgroud)

现在我想有一个while循环来检查我的数据库中是否已经存在$ new_url ...

然后插入如下结果:

mysql_query("INSERT INTO lank (url, code) VALUES ('$url', '$new_url')"); 
Run Code Online (Sandbox Code Playgroud)

除了while循环,我得到了一切工作.而我只是想弄清楚如何做到这一点......

Mat*_*iva 5

  • 在数据库中将代码字段定义为UNIQUE
  • 生成代码并运行INSERT
  • 检查mysql_affected_rows()INSERT是否实际发生(即代码已经存在)

为您保存SELECT查询

while ( true ) {
    $new_url = random_gen(6);
    mysql_query("INSERT INTO lank (url, code) VALUES ('$url', '$new_url')");
    if ( mysql_affected_rows() )
        break;
}
Run Code Online (Sandbox Code Playgroud)