用函数rand(0,9)
里面0,9可以采用时间的随机种子好一些

解决方案 »

  1.   

    用户表中的ID可设为auto_increment
    在insert成功后用mysql_insert_id()获得个ID号
      

  2.   

    binscut(迷雾)的办法应该可以。利用数据库自动加1,不会重复。
      

  3.   

    谢谢binscut(迷雾)! 我是初学者!ID属性是不是在服务器端设置?在mysql下面修改table???多谢
      

  4.   

    function make_id()
    {
    $id = "";
    $chars = array(
    "1","2","3","4","5","6","7","8","9","0",
    "a","A","b","B","c","C","d","D","e","E","f","F","g","G","h","H","i","I","j","J",
    "k","K","l","L","m","M","n","N","o","O","p","P","q","Q","r","R","s","S","t","T",
    "u","U","v","V","w","W","x","X","y","Y","z","Z");

    $count = count($chars) - 1;

    srand((double)microtime()*1000000); for($i = 0; $i < 8; $i++)
    {
    $id .= $chars[rand(0, $count)];
    }

    return($id);
    }
      

  5.   

    你的数据库结构难道不是自己的?create table users (
       id int unsigned not null auto_increment,
    ...
    primary key(id)
    );这样插入数据库时,id 字段给NULL,id 就会自动递增
    然后调用 mysql_insert_id() 就可以获得此 id 值,这是一个“唯一”的值,我想你所需要的也就是“唯一”的编号吧?