使用 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' 两次。
我正在使用 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' 两次。