我做了一个随机字符生成器,但是如何检查结果是否已经存在于数据库中?
例如,如果我想要 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/