如何在 MySQL 数据库中存储 Paypal 十进制金额

aro*_*rok 2 mysql sql paypal

您好,交易后在 Paypal 中,金额应存储在数据库中。但十进制金额未存储在数据库中,而是将其转换为整数。我想将其作为十进制数存储在数据库中。

例如:amt = 0.5 它在 MySQL 数据库中存储为 1.我想将它存储在数据库中为 0.5

任何人都可以帮助我如何处理查询。

提前致谢。

我是 Paypal 和 MySQL 的新手。如果我的问题有任何错误,请 fg。

这是我的代码

       <?php
        define("DB_HOST", "localhost");
          define("DB_USERNAME", "root");
          define("DB_PASSWORD", "");
           define("DB_DATABASE", "test");
          $connect = mysql_connect(DB_HOST, DB_USERNAME, DB_PASSWORD) or die("Database Connection Error");
          mysql_select_db(DB_DATABASE) or ("Database Selection Error");

          session_start();
         $uid = $_SESSION['uid'];
          $username=$_SESSION['username'];

          $item_no = isset($_GET['item_number']) ? $_GET['item_number'] : null;
           $item_transaction = isset($_GET['tx']) ? $_GET['tx'] : null ;
                $item_price = isset($_GET['amt']) ? $_GET['amt'] : null ;
             $item_currency = isset($_GET['cc']) ? $_GET['cc'] : null ;;

           $result = mysql_query("INSERT INTO sales(pid, uid, saledate,transactionid,amt) VALUES('$item_no', '$uid', NOW(),'$item_transaction','$item_price')");
           if($result){
           echo "<h1>Welcome, $username</h1>";
                echo '<h1>Payment Successful</h1>';

             }else{
                  echo "Payment Error";
                   }


                 ?>
Run Code Online (Sandbox Code Playgroud)

Joh*_*Woo 5

您的列的数据类型必须decimal并且必须具有precision and scale. 的precision表示被存储为值显著数字的数目,和scale表示可以存储小数点以下的位数。

例子

paypalAmount DECIMAL(10,2)
Run Code Online (Sandbox Code Playgroud)

默认情况下,精度值为 10,0小数位数为 0。如果您的小数位数为 0,则它将没有十进制值并导致对您插入的值进行四舍五入。

SQLFiddle 演示