我的购物车还有另外一个问题。每次我运行这段代码:
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为数组,在第20行的C:\ Aapche2.2 \ htdocs \ products.php中给出null
所以我将代码更改为:
$_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"]);
}
}
}
然后我得到意想不到的结果,因为每次脚本运行$ _SESSION [" prod_names"] = array();重置。所以array_push()并不像预期的那样工作。
答案 0 :(得分:0)
你可以检查你的数组,看它是否在分配之前是空的,这样它只会在第一次初始化。