表格设置如下:
CID | FNAM | LNAME | CITY ------> 30 more fields
23432 | John | Doe | Denver
54342 | Jane | Doe | Boston
以这种方式获取结果集时(查询将其缩小到 1 个结果):
$data = mysqli_query($con,$query);
$row = mysqli_fetch_array($data);
并使用下面将$row中的每个返回列设置为等效的 SESSION 变量
foreach ($row AS $key=>$value) {$_SESSION["$key"]=$value;}
为什么我得到一个匹配的 $_SESSION 集,同时具有$key名称,以及一个 $_SESSION 集,每个设置为会话变量的$row在数组中都有一个数字位置?
回声 $_SESSION['cid']; 结果在 23432
回显 $_SESSION['0']; 结果在 23432
$_SESSION['cid'] 是有意的,但 $_SESSION['0'] 不是
因为你使用的是mysqli_fetch_array
而不是mysqli_fetch_assoc
但无论如何,您只会从数据库中获得最后一行,因为您总是会覆盖给定的键。循环遍历字段名称,创建一个数组,并将该数组添加到结果数组中。