将SQL结果设置为与SESSION等效

使用表格设置如下:

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被设置为一个会话变量?

echo $ _SESSION ['cid']; 结果在23432
echo $ _SESSION ['0']; 结果在23432

$ _SESSION ['cid']是有意的,但$ _SESSION ['0']不是


因为你正在使用mysqli_fetch_array而不是mysqli_fetch_assoc

但无论如何,只会从数据库中获取最后一行,因为您总是覆盖给定的密钥。 遍历字段名并创建一个数组,并将该数组添加到结果数组中。

链接地址: http://www.djcxy.com/p/59731.html

上一篇: Set SQL results to SESSION equivalent

下一篇: php ajax control session variables disappearing