在PHP中将MySQL转换为MSSQL:会话中的未识别索引


Converting MySQL to MSSQL in PHP: unidentified index in session

我正在将我的代码从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'],然后使用它。