php - 如何检查数组(php)中的任何项目是否在表(mysql)中

标签 php mysql

我做了一个随机字符生成器,​​但是如何检查结果是否已经存在于数据库中?
例如,如果我想要 5000 个结果,并且 1 个结果等于数据库中的一个结果,它必须在 for 循环中创建一个新结果。

$previous = array();

for ($i=1; $i<=$quantity; $i++){
                       
    $unique_found = false;
    while(!$unique_found){
        $a = substr(str_shuffle("1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, 4);
        $b = substr(str_shuffle("1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, 4);
        $c = substr(str_shuffle("1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, 4);
        $d = substr(str_shuffle("1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, 4);

        $code = "$a-$b-$c-$d";

        if(!in_array($code,$previous)){
            $unique_found = true;
            $previous[] = $code;
            echo .$code .'<br>';
        }
    }

}

最佳答案

用数据库中已有的结果填充 $previous 数组。

$previous = array();
$sql = "SELECT `code` FROM `table`";
$result = $conn->query($sql);
while($row = $result->fetch_assoc()){
    $previous[] = $row['code'];
}

for ($i=1; $i<=$aantal; $i++){
    // ....

关于php - 如何检查数组(php)中的任何项目是否在表(mysql)中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28959939/

相关文章:

php - 带有 readfile 和 file_get_contents 的损坏图像

php - 谷歌分析 API : filter by multiple URIs?

php - if 语句计算不正确

Mysql 选择 1 :n

具有 SQL 模式的 MySQL BETWEEN 运算符

mysql - 如何获取MYSQL分层数据中的所有子记录

php - 在 PHP 中使用 CURL 对 api 进行推送调用

PHP - 获取 ADODB 中受影响的行

mysql - SQL查询添加与子查询相关的where

python - 如何在每次运行 python 程序时添加新列