我目前有一个工作的购物车系统,当单击“addtocart”时,产品代码存储在$\u 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>";
}
}
?>
1条答案
按热度按时间iibxawm41#
好吧,你应该检查你的web服务器的错误日志,以获得确切的错误。错误日志通常位于/var/log/apache2文件夹中。以下可能会有所帮助:
您需要使用session\u start()初始化php会话。session\u start应该在第一个if语句之前调用。
如果您的产品代码是一个字符串,那么它应该用引号括起来,因此您的sql查询应该是:“select name from studentcomforts where product\u code='$productcode';
可以将if和first-else语句组合起来。例如: