php - 检查数据库中创建的字符串,如果找到,则创建新字符串?

标签 php mysql

非常简单,但是,我还没有找到真正直接且合适的解决方案;

我目前拥有自己的函数,可以通过运行两个从 1 到最大整数的 mt_rand() 函数来创建随机字符串,然后将结果包装在两个 dechex() 函数,并将它们连接成一个字符串。

我还没有对其进行统计,但是,其中两个字符串相同的可能性非常低。

但是,我显然需要一个备份解决方案,这就是为什么我想对数据库执行查询,并查看它是否作为条目存在,如果存在,则重新调用我自己的函数来创建随机字符串,再次查询,循环直到找到不存在的字符串。

我查看了大量的论坛帖子和一些SO问题,但尚未找到简洁的答案。

任何帮助将不胜感激,谢谢!

最佳答案

$int_affected = 0;
while(!$int_affected) {
    /* Set $integer */
    mysql_query("INSERT IGNORE INTO table (value) VALUES ({$integer})");

    $int_affected = mysql_affected_rows();
}

这是您要找的东西吗?

关于php - 检查数据库中创建的字符串,如果找到,则创建新字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6904262/

相关文章:

php - 使用 html 表单 (MYSQL/PHP) 将记录插入数据库

mysql - 如何使用mysql函数返回表

mysql - 用于存储每个广告每个日期的点击次数的最佳数据库设计

php - 选择具有相同值的行组

php - 你如何将命名方法传递给 Laravel 中的后备路由?

php - 具有 Dotrine 的累积 DQL

php - WanWizard datamapper orm 中关系的组合结果?

javascript - 使用数据 API 访问正在加载的图像的位置值

mysql 奇怪的情况与 unix_timestamp

php - 如何在包含记录的 MySQL 中为现有表创建唯一索引