【问题标题】:Insert varchar coupon code in database table在数据库表中插入 varchar 优惠券代码
【发布时间】:2015-04-25 09:51:33
【问题描述】:

我有一个基于奖励积分的网站。我想将数据库中的“优惠券代码”存储到用户使用哪个代码为他们的帐户充值以购买任何东西的记录。我在php 中创建了一个插入表,以便为用户插入优惠券。

我遇到一个问题,INSERT INTO sql 语法只将int 代码插入数据库,但是当我们使用VARCHAR 代码为帐户充值时,它没有存储任何数据...

例子:

  • int coupon code: 22334466
  • int coupon code: SU5C5E6S


<?php
if(isset($_POST['sub'])){
    $db_host="localhost";
    $db_username="root";
    $db_password="";
    $db_name="bs1";
    $con=mysql_connect("$db_host", "$db_username", "$db_password") or die("could not connect to mysql!!!");
    if($con=="")
    {
        echo "Database not connected!!!!";
    }
    else
    {
        $isdb=mysql_select_db("$db_name") or die("database not available!!!!");
        if($isdb=="")
        {
            echo "database not selected!!!!";
        }
        else
        {   
            $emp_ID=$_POST['emp_ID'];
            $code=$_POST['code'];


            $query = mysql_query("select * from oc_abhi_reward where `Code`='$code'") or die (mysql_error());
            $data=mysql_fetch_assoc($query);
            $code_db=$data['Code'];
            $points_db=$data['Point'];
            if($code==$code_db)
            {
            $query1 = mysql_query("select * from oc_customer where `emp_ID`='$emp_ID'") or die (mysql_error());
            $data1=mysql_fetch_assoc($query1);
            $customer_id=$data1['customer_id'];

            $query2=mysql_query("INSERT INTO `oc_customer_reward` (customer_id, emp_ID,  order_id, description, points, date_added) VALUES ($customer_id, $emp_ID,  0, 'rewarded', $points_db, NOW());");

            $query4=mysql_query("INSERT INTO `oc_customer_reward_history` (customer_id, emp_ID, description, Code, points) VALUES ($customer_id, $emp_ID, 'rewarded', $code, $points_db)");


            $query3=mysql_query("DELETE FROM oc_abhi_reward WHERE Code='$code'");
            header("location:http://localhost/bsl/index.php?route=account/account");
            exit();
            }
            else
            {

            }           
        }
    }
}
?>
<!--php code for reward entry END-->

【问题讨论】:

  • 您好 Sandal,欢迎来到 Stack Overflow。请张贴您的表格的 DDL,例如表格的结构。还发布您到目前为止所做的尝试,并尝试弄清楚您面临的问题是什么
  • 先生,我的 php 连接数据库并将数据插入表的代码在这里:
  • $query2=mysql_query("INSERT INTO oc_customer_reward (customer_id, emp_ID, order_id, description, points, date_added) VALUES ($customer_id, $emp_ID, 0, 'rewarded', $points_db, NOW ());");
  • 请编辑您的问题并使用降价发布代码。 cmets 中的代码渲染非常糟糕
  • @HugoTunius 我想你的意思是编辑问题。

标签: php mysql sql-insert


【解决方案1】:

$code应该写在单引号中,所以在数据库中插入可变字符代码的代码应该是这样的,

$query4=mysql_query("INSERT INTO `oc_customer_reward_history` (customer_id, emp_ID, description, Code, points) VALUES ($customer_id, $emp_ID, 'rewarded', '$code', $points_db)");

【讨论】:

  • 我在这方面面临一个新问题。我发现有时代码不是用户帐户中的更新点,而是从表中删除,因为我给出了 sql 查询 $query3=mysql_query("DELETE FROM oc_abhi_reward WHERE Code='$code'");所以现在我想知道一个 sql 查询,它仅在用户帐户中更新点而不是从列表中删除时才激活代码。
猜你喜欢
  • 2014-11-26
  • 2020-08-30
  • 2015-04-03
  • 2012-01-03
  • 1970-01-01
  • 2023-03-03
  • 2021-04-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多