$q = "SELECT * FROM user";
$res = mysqli_query($conn, $q) or die(mysql_error());
$userList = "";
while($user = mysqli_fetch_array($res))
{
$userList .= $user['userList'].";;";
}
echo $userList;
我不理解while部分:
mysqli_fetch_array
分配给$user
使用? $user
如何拥有userList
的索引? ;;
连接?答案 0 :(得分:3)
回答你的问题:
i)mysqli_fetch_array()
有两个可能的返回值。它返回数据库结果集指针指向的当前行的数组,然后将指针前进到下一行,如果已到达结果集的末尾,则返回false
。 while()
计算设置为$row
的值,如果它是数组则继续循环,或者$row
等于false
ii)$user
数组包含每个字段的数字索引(即0,1,2,... [#fields - 1])和表的列名的关联索引(即' field1','field2'等)。在这种情况下,数据库中的一个字段为userList
,因此访问$user['userList']
将返回正在处理的行的列值。 B注意,查询本身将被编写为SELECT userList FROM user
,因为这是您感兴趣的唯一字段。如果您不需要,则没有任何理由选择和传输所有字段数据。仅使用mysqli_fetch_array()
也很少有用,因为您很少需要记录上的数字和关联索引。通常最好根据您的需要专门请求关联或数值数组结果。
iii)此代码只是构建一个字符串而不是一个可能更常见的结果数组。无论出于何种原因,代码编写者决定字符串中的值应由;;
分隔。