mysqli_fetch_array()函数是否在返回每个值时删除它?如果没有,当我完成循环后如何回到数组的顶部?
我需要多次遍历列表,因为我正在使用它来生成唯一的用户名(如果已经使用,则在末尾添加数字)。
$uniqueName = true;
while($row = mysqli_fetch_array($namesList)) {
if ($row['Username'] == $UserBase) {
$uniqueName = false;
}
}
$number = 0;
if ($uniqueName == true) {
$User = $UserBase;
}
else {
while ($uniqueName == false) {
$uniqueName = true;
$number++;
$tempList = $namesList2;
while($row = mysqli_fetch_array($tempList)) {
if ($row['Username'] == $UserBase . $number) {
$uniqueName = false;
}
}
}
$User = $UserBase . $number;
}
Run Code Online (Sandbox Code Playgroud)
$namesList是迄今为止数据库中所有用户名的列表。基本上,$UserBase是用户的姓氏和姓氏相加。目前发生的事情是最后$User变成$Userbase了 a 1,即使它应该是 2。但是,如果它是名称的第一个实例,那么它不会添加任何内容(按预期工作)。
您可以使用 mysqli_fetch_all 函数将所有结果作为数组返回,然后您可以像处理 PHP 中的任何其他数组一样操作它:
$arr = mysqli_fetch_all($namesList);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2520 次 |
| 最近记录: |