方案1:
用循环做,生成ID后检测一下是否有重复记录存在,如果有再次取值。
方案2:
用自动累加的数字做ID。

解决方案 »

  1.   

    function Random_Password($length) {
    // return a string has $length with chars 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ 
    srand(date("s"));
    $possible_charactors = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    $string = "";
    while(strlen($string)<$length) {
    $string .= substr($possible_charactors,(rand()%(strlen($possible_charactors))),1);
    }
    return($string);
    }先用这个生成一个随机的码。然后检查是否存在。如果存在再生成一个,直到
    合适为止。林外可以把 unix时间戳也加入进去,
      

  2.   

    通过md5(uniqid(rand())可以生成一个32位随机字符串,你可以重中截取6-10位,你可以通过系统时间或是其它规则确定从第几位开始截取,这样存在冲突的可能性将非常低。因为rand() uniqid() md5()的结果都具有一定的随机性,你再定一个随机规则就好了
      

  3.   

    我不清楚使用那个字串能给你带来多少方便,也不知道你要用它作什么?为什么不用session