php - 检查密码的有效方法在数据库中

标签 php mysql

我有一个系统,可以一次生成一批随机代码,最多 100 个。然后将它们插入到数据库中。我正在使用代码生成器,不太可能再次创建类似的代码,但为了确保我想检查数据库是否有重复的代码。我的理论..

  $amount_of_codes


  while ($x != $amount_of_codes)
    {
    $code = gencode();
    $mysql_check = "SELECT code FROM data WHERE code = '$code'";
    $mysql_check_result = mysql_query($mysql_check);
    $check = mysql_num_rows($mysql_check_result);
     if (!$check)
      {
      mysql_query("INSERT INTO data(code) values('$code')")
      $x++
      } 
    }

看起来很乱,有更好的想法吗?

最佳答案

Code列一个唯一的约束:

CREATE TABLE Code
(
  Code ..
..
  CONSTRAINT Code_Unique UNIQUE (Code),
..
);

插入时您只需要捕获数据库异常/错误,而不用担心代码是否已经存在。

关于php - 检查密码的有效方法在数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12911810/

相关文章:

php - Mysql 查询未运行或条件

php - 如何从 MYSQL 数据库分配的 PHP session 数组中打印单个变量

SQL查询以获取所有产品类别以及产品是否在其中

php - 无法理解 0 行在 php/mysql 中返回

javascript - Node.js API 与 express 和 mysql - 仅在设置、等于和类似组合时应用搜索参数

php - 在 SQL 中计算级联价格规则

PHP,mysql - 使用 json_encode 中的 for 循环获取数据库表中的数据

php - Opencart 1.4.9 从 mysql 到 mysqli

php - yii renderPartial 和 inlclude css with <link> 有延迟

mysql - 我的 SQL 有什么问题? #1089 - 不正确的前缀键