Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中为Mysql数据库生成唯一字符串_Php_Mysql - Fatal编程技术网

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

在PHP中为Mysql数据库生成唯一字符串,php,mysql,Php,Mysql,如何生成唯一密钥并将其插入我的mysql数据库? 这是我目前使用的: echo uniqid(time(), true); 您能告诉我它是否是唯一的键吗?您可以在数据库中的id字段上使用自动递增。 它将永远不会重复,因为它会增加现有的最高id。您可以使用以下命令获得具有32个字符的唯一id md5(uniqid(time(), true)) 或者你可以使用sha1,比如40个字符 sha1(uniqid(time(), true)) 有一个php函数uniqid(),您可以尝试使用更多

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

echo uniqid(time(), true);

您能告诉我它是否是唯一的键吗?

您可以在数据库中的id字段上使用
自动递增。


它将永远不会重复,因为它会增加现有的最高id。

您可以使用以下命令获得具有32个字符的唯一id

md5(uniqid(time(), true))
或者你可以使用sha1,比如40个字符

sha1(uniqid(time(), true))

有一个php函数
uniqid()
,您可以尝试使用更多参考。

您可以使用以下方法获得唯一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
函数gen\u random\u字符串($length=16)
{
$chars=“abcdefghijklmnopqrstuvxyzabcdefghijklmnopqrstuvxyz1234567890”;//长度:36
$final_rand='';

对于($i=0;$i),您可以获得此方法抛出唯一id

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

$uniqueString  = generate_uid();

为什么不让MySQL使用一个自动递增的数字来处理它呢?谢谢你的建议。我会尝试
md5
并不总是创建一个唯一的散列。它有。对于我的需要,这个答案是完美的:)请注意,可以猜测得到的字符串,请参阅PHP文档中的警告:因此,您不应该在URL或身份验证系统中使用,因为攻击者可以强制执行此操作。