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();它成功了。干杯