【问题标题】:Cart system connection to database购物车系统连接到数据库
【发布时间】:2018-12-29 12:03:35
【问题描述】:

我目前有一个工作车系统,当单击“addToCart”时,产品代码存储在 $_SESSION['cart'] 数组中,然后在下拉菜单中打印出来,如果没有存储值,则打印“否购物车中的物品”。这工作得很好,但是当我尝试使用产品代码从数据库中提取其余项目数据时,我得到 500 内部服务器错误,但是这种连接到数据库的方法工作得很好,任何建议都将不胜感激。

<div class="dropDownCart">
        <button onclick="dropDownCart()" class="dropDownCartBtn">Cart</button>
        <div id="dropDownCartID" class="dropDownCartContent">
            <?php
            if ($_SESSION['cart'] === null) {
                echo "<span class='noItems'>No items in cart</span>";
            } elseif (!isset($_SESSION['cart'])) {
                echo "<span class='noItems'>No items in cart</span>";
            } else {
                require_once("dbConnection.php");
                $dbConn = getConnection();
                foreach ($_SESSION['cart'] as $productCode) {
                    $sqlQuery = "SELECT Name FROM studentcomforts WHERE Product_Code = $productCode";
                    $queryResult = $dbConn->query($sqlQuery);
                    $rowObj = $queryResult->fetchObject();
                        echo "<span class='cartItem'>
                                $rowObj->Name
                            </span>";
                }
            }
            ?>

【问题讨论】:

    标签: php mysql database session cart


    【解决方案1】:

    您应该检查您的网络服务器错误日志以了解确切的错误。错误日志通常位于 /var/log/apache2 文件夹中。以下可能会有所帮助:

    您需要使用 session_start() 来初始化 Php 会话。 session_start 应该在第一个 if 语句之前调用。

    如果您的产品代码是字符串,那么它应该用引号引起来,因此您的 sql 查询应该是:“SELECT Name FROM studentcomforts WHERE Product_Code = '$productCode'”;

    您可以结合 if 和 first else 语句。例如:

    if ($_SESSION['cart'] === null || !isset($_SESSION['cart']))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 2015-01-26
      • 2023-03-16
      • 1970-01-01
      • 2020-06-12
      • 2020-01-31
      • 2013-02-05
      相关资源
      最近更新 更多