2

こんにちはPaypalで取引後、金額はデータベースに保存する必要があります。しかし、10進数はデータベースに保存されておらず、整数に変換されます。10進数としてデータベースに保存したいと思います。

例:amt =0.5MySQLデータベースに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";
                   }


                 ?>
4

1 に答える 1

5

列のデータ型は である必要がdecimalあり、 である必要がありますprecision and scale。はprecision値に格納される有効桁数をscale表し、 は小数点以下に格納できる桁数を表します。

paypalAmount DECIMAL(10,2)

デフォルトでは、精度の値は 10 で、スケールは 0 です。スケールの値が の場合、0小数点以下の値がなく、挿入した値が丸められます。

SQLFiddle デモ

于 2012-09-17T06:11:48.897 に答える