将mySQLi数组存储在PHP会话中?

时间:2015-11-20 11:13:52

标签: php arrays mysqli

如何在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;

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

1 个答案:

答案 0 :(得分:3)

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'];