我正在嘗試爲我的網站支持選項生成支持票據。我不會在支持系統中使用很多功能。我只想讓生成的票證ID號碼不被重複。我試過的兩次在我的數據庫中給了我'0',有時還給了我一個數字。如何生成支持票證的ID?
我想要的是,每當生成一張新票時,它應該有一致的位數並且永不再重複。
下面是我的代碼,我使用:
$token = openssl_random_pseudo_bytes(16);
$ticket = bin2hex($token);
請指引我一個更好的辦法。
我正在嘗試爲我的網站支持選項生成支持票據。我不會在支持系統中使用很多功能。我只想讓生成的票證ID號碼不被重複。我試過的兩次在我的數據庫中給了我'0',有時還給了我一個數字。如何生成支持票證的ID?
我想要的是,每當生成一張新票時,它應該有一致的位數並且永不再重複。
下面是我的代碼,我使用:
$token = openssl_random_pseudo_bytes(16);
$ticket = bin2hex($token);
請指引我一個更好的辦法。
你不能只使用一個正常的auto_increment? – Manikiran
你不這樣做,通過使用一個隨機數。隨便你顯然無法對序列做出任何預測。相反,您使用內置的功能到數據庫。像MySQL這樣的'自動增量'提供它或其他關係數據庫系統中使用的一些密鑰生成器。 – arkascha
@ayan Chill dude,你可以輕鬆地做到這一點,而無需在php中進行任何編碼。只需執行這個mysql語句。 'ALTER TABLE tokens AUTO_INCREMENT = 100000;' – Manikiran