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


Generating Unique String in PHP for Mysql Database

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

echo uniqid(time(), true);

你能告诉我它是否是唯一的密钥吗?

您可以在

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

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

md5(uniqid(time(), true))

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

sha1(uniqid(time(), true))

你可以让这个方法抛出唯一的 id。

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

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

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

尝试使用唯一的字符串

    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

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