Array push PHP购物车会话问题

Array push PHP购物车会话问题,array-push,Array Push,我的购物车还有一个问题。每次运行此代码时: if(isset($_GET["atc"])) { extract($_GET); $link = mysqli_connect("localhost", "root", "*******", "souljaz"); $sql = "SELECT * FROM products WHERE id='{$pid}'"; if($result = mysqli_query($link, $sql)) {

我的购物车还有一个问题。每次运行此代码时:

if(isset($_GET["atc"]))
{
    extract($_GET);
    $link = mysqli_connect("localhost", "root", "*******", "souljaz");
    $sql = "SELECT * FROM products WHERE id='{$pid}'";
    if($result = mysqli_query($link, $sql))
    {
        while($row = mysqli_fetch_assoc($result))
        {
            array_push($_SESSION["prod_names"], $row["name"]);
        }
    }
}
我收到以下错误消息:

警告:array_push()要求参数1为array,在第20行的C:\Aapche2.2\htdocs\products.php中给出空值

因此,我将代码更改为:

    $_SESSION["prod_names"] = array();

if(isset($_GET["atc"]))
{
    extract($_GET);
    $link = mysqli_connect("localhost", "root", "*******", "souljaz");
    $sql = "SELECT * FROM products WHERE id='{$pid}'";
    if($result = mysqli_query($link, $sql))
    {
        while($row = mysqli_fetch_assoc($result))
        {
            array_push($_SESSION["prod_names"], $row["name"]);
        }
    }
}

然后,我得到了意外的结果,因为每次脚本运行$\u会话[“prod\u names”]=array();已重置。因此数组push()无法按预期工作。

在分配数组之前,您可以检查数组是否为空,这样它只会在第一次初始化。

我添加了:if(empty($\u SESSION[“prod\u names”])$\u SESSION[“prod\u names”]=array();if(空($_会话[“产品价格”]))$_会话[“产品价格”]=array();它成功了。干杯