我正在尝试为我的网站支持选项生成支持票据。我不会在支持系统中使用很多功能。我只想让生成的票证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