Php 如果值存在于表循环查询中,直到它存在';T
我需要做一个while循环,检查数据库中是否有$key,是否有$key,生成一个新的key并再次检查。这似乎是一个简单的代码部分,但我不能让它工作 几个小时以来,我一直在谷歌上搜索并尝试不同的解决方案,但运气不佳Php 如果值存在于表循环查询中,直到它存在';T,php,mysql,while-loop,Php,Mysql,While Loop,我需要做一个while循环,检查数据库中是否有$key,是否有$key,生成一个新的key并再次检查。这似乎是一个简单的代码部分,但我不能让它工作 几个小时以来,我一直在谷歌上搜索并尝试不同的解决方案,但运气不佳 $key = 'aa';//RandomString(30); $result = mysql_query("SELECT column FROM table WHERE column = '$key'"); $j = 1; while(mysql_num_rows($result)
$key = 'aa';//RandomString(30);
$result = mysql_query("SELECT column FROM table WHERE column = '$key'");
$j = 1;
while(mysql_num_rows($result)==1){
$key = 'aa'.$j;//RandomString(30);
$j++;
}
您需要包括
mysql_query()代码>在中,而循环。按照目前的方式,每次只查询一次mysql数据库时,都会检查相同的结果
$key = 'aa';//RandomString(30);
$j = 1;
$found = true;
while($found == true){
$result = mysql_query("SELECT column FROM table WHERE column = '$key'");
if(mysql_num_rows($result)==0) {
$found = false;
} else {
$key = 'aa'.$j;//RandomString(30);
$j++;
}
}
仅供参考,mysql\uuz
函数已被弃用,因此您应该尝试迁移到mysqli或pdo
此外,如果在这种情况下有大量以aa
开头的条目,那么这将变得效率低下。最好是找到所有以aa
开头的条目,然后找到最后一个条目,并将数字递增1。通过这种方式,您可以只使用一个查询,而不是数百或数千个查询。您需要包含mysql\u query()代码>在中,而循环。按照目前的方式,每次只查询一次mysql数据库时,都会检查相同的结果
$key = 'aa';//RandomString(30);
$j = 1;
$found = true;
while($found == true){
$result = mysql_query("SELECT column FROM table WHERE column = '$key'");
if(mysql_num_rows($result)==0) {
$found = false;
} else {
$key = 'aa'.$j;//RandomString(30);
$j++;
}
}
仅供参考,mysql\uuz
函数已被弃用,因此您应该尝试迁移到mysqli或pdo
此外,如果在这种情况下有大量以aa
开头的条目,那么这将变得效率低下。最好是找到所有以aa
开头的条目,然后找到最后一个条目,并将数字递增1。这样,您就可以只使用一个查询,而不是数百或数千个查询。谢谢,我在没有if语句的情况下尝试了这个方法,因此只循环了2次。但现在它起作用了!我仍然使用mysql的原因是因为我被强制了。谢谢,我在没有if语句的情况下尝试了这个,因此只循环了2次。但现在它起作用了!我仍然使用mysql的原因是因为我被强制使用了。