使用 PHP 的结帐页面出错

error in checkout page using PHP

我正在使用 PHP 创建在线购物车网站。我做了一切,但我的问题是当我结帐这些项目时,只有一个项目会存储在数据库中。但是我需要存储所有选择的项目记录

这是我的checkout.php代码

<?php
//Pay success insert into databace 

if(isset($_POST['pay_success']))
{
    $all = array('product_name'=>$p_code, 'product_name'=>$p_name, 'total_amount'=>$amount);
    $columns = implode(",",array_keys($all));
    $escaped_values = array_map('mysql_real_escape_string', array_values($all));
    $values  = implode(",", $escaped_values);
    $sql = "INSERT INTO pay_success ('$columns') VALUES ('$values')";
    if($sql==true)
    {
        echo "Success";
    }
    else
    {
        echo "error".mysql_error();
    }
}

?>

注意:这只是插入代码,此代码回显成功但数据未插入

之后

$sql = "INSERT INTO pay_success ('$columns') VALUES ('$values')";

行 [=16th=] 执行函数

mysql_query

您只构建了 Query 而没有执行 Query

所以,你应该

$sql = "INSERT INTO pay_success ('$columns') VALUES ('$values')";
$result=mysql_query($sql);
if($result)
{
    echo "Success";
}
else
{
    echo "error".mysql_error();
}

但我强烈建议您使用 mysqli 或 pdo,因为 mysql 是 depreciated

更新:

我想你应该构建 $all

$all = array('product_code'=>$p_code, 'product_name'=>$p_name, 'total_amount'=>$amount);

 $all = array('product_name'=>$p_code, 'product_name'=>$p_name, 'total_amount'=>$amount);

你不应该使用 'product_name' 两次。