我在MySQL中有一个SELECT查询,该查询已在phpMyAdmin中进行了测试,它显示了两条记录,其中同一用户(编号1)具有两个角色(noAutorizado和admin):
现在,我尝试使用for循环在列表中显示该结果,它显示第一个结果两次,而不是两个结果。因此,而不是显示的noAutorizado和管理,它显示noAutorizado和noAutorizado。
循环出了什么问题?
$conectar2 = mysqli_connect(HOST, USER, PASS, DATABASE);
$buscarRoles = "SELECT userID, nombreRol
FROM rolesUsuarios
WHERE userID='$uid'
";
$roles = mysqli_query($conectar2,$buscarRoles);
if($roles){
$rol = mysqli_fetch_array($roles);
$cantRegistros = mysqli_num_rows($roles);
for ($i=0; $i < $cantRegistros; $i++) {
echo $rol['nombreRol'].'<br>';
}
} else ...
那是因为数组代表返回结果集中的一行。您需要再次执行mysqli_fetch_array函数以获取下一条记录。例子:
while($rol = mysqli_fetch_array($roles)) { echo $rol['nombreRol'].'<br>'; }
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句