2012-05-11 45 views
3

我的網站有一個部分爲每個帖子生成一個唯一的ID,然後發送到數據庫。問題是生成的ID總共16個字符,我只需要6個字符。如何使用uniqid生成6個字符長度的ID?

這是用來生成ID代碼:

$order_id = uniqid(rand(10,1000), false); 

有沒有辦法,我也只能做到這樣的改變什麼辦法?

回答

20

爲什麼不用數據庫中的auto_incremental來做到這一點?所以第一個id是1,然後是2,依此類推。如果您只需要6位數字,則會產生999 999個不同的密鑰。


這裏以前接受的答案,使用substr()uniqid()取前6個字符,也不是100%安全的。 uniqid將產生一個唯一的ID,其中WHOLE ID將是唯一的。通過刪除這些字符,你可能會得到重複。

相關問題