gpt4 book ai didi

php - mysql查询检索每一行数据

转载 作者:太空宇宙 更新时间:2023-11-03 12:20:49 27 4
gpt4 key购买 nike

$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 部分:

  1. 为什么使用 while 将 mysqli_fetch_array 分配给 $user
  2. $user 如何拥有 userList 的索引?
  3. 为什么要用 ;; 连接?

最佳答案

回答您的问题:

i) mysqli_fetch_array() 有两个可能的返回值。它要么返回数据库结果集指针指向的当前行的数组,然后将指针前进到下一行,要么在到达结果集末尾时返回 falsewhile() 评估设置为 $row 的值,如果它是数组则继续循环,如果 $row 则停止循环等于 false

ii) $user 数组有每个字段的数字索引(即 0,1,2,... [#fields - 1])和列名的关联索引表(即“field1”、“field2”等)。在这种情况下,数据库中的字段之一是 userList,因此访问 $user['userList'] 会返回正在处理的行的列值。 B请注意,查询本身最好写成 SELECT userList FROM user,因为这是您唯一感兴趣的字段。如果您不需要,则没有任何理由选择和传输所有字段数据为了它。仅使用 mysqli_fetch_array() 也很少有用,因为您很少需要在记录上同时使用数字索引和关联索引。通常最好根据需要具体请求关联或数字数组结果.

iii) 此代码只是构建一个字符串,而不是一个可能更常见的结果数组。无论出于何种原因,代码编写者决定字符串中的值应该用 ;; 分隔。

关于php - mysql查询检索每一行数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20157184/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com