将mySQLi数组存储在PHP会话中


Store mySQLi array in PHP session?

如何在PHP会话中存储mySQLi数组?我使用while循环来渲染数组,但我应该如何将它们中的每一个分配给会话?

这是我的尝试:

while($row = mysqli_fetch_array($sqlCommand)){ 
             $id = $row["id"];
             $product_name = $row["product_name"];
             $price = $row["price"];
             $all_list .= "id= $id, product name = $product_name, price = $price 'n";
}
/*only work if only LIMIT  1*/
//$_SESSION["id"] = $id;
//$_SESSION["product_name"] = $product_name;
//$_SESSION["price"] = $price;

我还尝试将会话变量分配给每个数组,但只有当结果限制为一个时,它才有效。在我的情况下,结果将至少是一个或多个。我该怎么做?

while($row = mysqli_fetch_array($sqlCommand)){ 
             $_SESSION[]['id'] = $row["id"];
             $_SESSION[]['product_name'] = $row["product_name"];
             $_SESSION[]['price'] = $row["price"];
             $_SESSION[]['all_list'] .= "id= $id, product name = $product_name, price = $price 'n";
}

将所有行存储为会话中的数组。

要查看结果,请在while循环后使用以下行:var_dump($_SESSION);

要访问特定值(例如id),请使用以下命令:echo $_SESSION[0]['id'];