Как я могу сгенерировать уникальный ключ и вставить его в мою базу данных mysql
?
Это то, что я сейчас использую:
echo uniqid(time(), true);
Можете ли вы сказать мне, что это уникальный ключ или нет?
вы можете использовать следующее, чтобы получить уникальный идентификатор с 32 символами
md5(uniqid(time(), true))
или вы можете использовать sha1 как с 40 символами
sha1(uniqid(time(), true))
Вы можете использовать AUTOINCREMENT
в своем поле id в базе данных.
Он никогда не будет дублироваться, так как он увеличивает высоту существующего идентификатора.
Вы можете получить этот метод с помощью уникального идентификатора.
function generate_uid(){ return md5(mktime()."-".rand()."-".rand()); } $uniqueString = generate_uid();
Вы можете использовать следующее, чтобы получить уникальный идентификатор, добавив также свой префикс:
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 вы можете попробовать.