在PHP中为Mysql数据库生成唯一字符串

时间:2013-11-12 10:28:52

标签: php mysql

如何生成唯一密钥并将其插入我的mysql数据库?
这就是我目前使用的:

echo uniqid(time(), true);

你能告诉我它是否是一把独特的钥匙?

6 个答案:

答案 0 :(得分:3)

您可以在数据库的 id 字段中使用AUTOINCREMENT
它永远不会重复,因为它会增加现有的最高ID。

答案 1 :(得分:2)

您可以使用以下内容获取32个字符的唯一ID

md5(uniqid(time(), true))

或者您可以像使用40个字符一样使用sha1

sha1(uniqid(time(), true))

答案 2 :(得分:2)

您可以使用此方法抛出唯一ID。

function generate_uid(){
    return md5(mktime()."-".rand()."-".rand());
}

$uniqueString  = generate_uid();

答案 3 :(得分:0)

有一个php函数uniqid(),更多参考uniqid你可以试试这个。

答案 4 :(得分:0)

您还可以使用以下内容获取唯一ID,并添加前缀:

echo md5(uniqid('myprefix_', true));

答案 5 :(得分:0)

尝试使用此唯一字符串

    function gen_random_string($length=16)
        {
            $chars ="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";//length:36
            $final_rand='';
            for($i=0;$i<$length; $i++)
            {
                $final_rand .= $chars[ ran

d(0,strlen($chars)-1)];

        }
        return $final_rand;
    }

    echo gen_random_string()."\n"; //generates a string
    echo gen_random_string(8)."\n"; //generates a string with length 8