2012-09-17 22 views
2

嗨貝寶在交易之後應該將數量存儲在數據庫中。但是小數金額不存儲在數據庫中它將轉換爲整數。我想將它作爲十進制數據存儲在數據庫中數。如何在MySQL數據庫中存儲貝寶十進制數量

例如:AMT = 0.5將其存儲在MySQL數據庫作爲1.I想將其存儲在數據庫中的0.5

任何人都可以幫助我如何做查詢。

在此先感謝。

我新來Paypal和MySQL.if任何錯誤在我的問題請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"; 
        } 


       ?> 

回答

4

列的你的數據類型必須是decimal而且必須有precision and scaleprecision代表爲值存儲的有效位數,scale代表小數點後可存儲的位數。

paypalAmount DECIMAL(10,2) 

默認值精度爲10,小數位數爲0如果你的價值尺度是0那麼它不會有十進制值,並造成周圍,你插入的值。

SQLFiddle Demo

+1

@eggyal準確,也許用戶沒有指定'scale'值。 –

+0

其工作兄弟謝謝。 – arok

+0

@Raja不客氣的兄弟:D –

相關問題