【发布时间】:2011-05-21 01:36:39
【问题描述】:
我在互联网上有一项服务,人们发布图片并生成一个短字符串。永远只能使用一个。但是,我在数据库中遇到了重复项,并且遇到了重大问题。
这是我正在使用的:
$id=rand(10000,99999);
$short_string = base_convert($id,20,36);
修复它的最佳方法是什么?从数据库中检查并继续循环直到它不匹配?如果每个可能的解决方案都进入一个无限循环怎么办?
【问题讨论】:
-
根据您发布的代码,您只能拥有 89999 个数字字符串 ID。不是很多。这些是永久使用的吗?还是你记得并回收它们?
-
问题:base_convert(string $number, int $frombase, int $tobase)。我可能遗漏了一些东西,但不是你的 frombase,base 10 而不是 20?
-
@Mitch Wheat:这正是我使用的代码。将基数从 10 更改为 20 有什么作用?
标签: php mysql uniqueidentifier base-conversion