嗨,在 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";
}
?>
最佳答案
列的数据类型必须为十进制
,并且必须具有精度和小数位数
。 精度
表示存储的值的有效位数,scale
表示小数点后可以存储的位数。
示例
paypalAmount DECIMAL(10,2)
默认情况下,精度值为 10,小数位数为 0。如果小数位数的值为 0
,则它将没有小数值,并导致对您插入的值进行四舍五入。
SQLFiddle Demo
关于mysql - 如何在MySQL数据库中存储Paypal小数金额,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12453910/