我正在将我的代码从PHP、MySQL转换为sqlsrv,由于某种原因,我的"cart"被称为未识别的索引。知道为什么吗?
<?php
if ($_SERVER['REQUEST_URI'] != '/index.php?page=cart') {
$sql="SELECT * FROM table WHERE id IN (";
foreach($_SESSION['cart'] as $id => $value) {
$sql.=$id.",";
}
$sql=substr($sql, 0, -1).") ORDER BY name ASC";
@$query= sqlsrv_query($conn, $sql);
$numrows = sqlsrv_num_rows($query);
if($numrows != 0) {
?><h1>Current Order</h1><?php while($row= sqlsrv_fetch_array($query, SQLSRV_FETCH_ASSOC)){
?>
<p> <?php echo $row['name'] ?> X <b><?php echo $_SESSION['cart'][$row['id_product']]['quantity'] ?></b></p>
<?php
}
?>
在<?php
标签后添加session_start()
session_start();
if ($_SERVER['REQUEST_URI'] != '/index.php?page=cart')
{
$sql="SELECT * FROM table WHERE id IN (";
foreach($_SESSION['cart'] as $id => $value)
{
$sql.=$id.",";
}
它将为您工作,也检查isset
而不是$_SESSION['cart']
,然后使用它。