如何在mysql数据库中存储0.5

时间:2018-06-01 07:34:46

标签: php mysql

我想将0.5存储在mysql数据库中。我怎么能这样做?

我的mysql数据库中有一个decimal(10,2)的列。但是当我使用php存储0.5时,它会存储0

当我存储1.1或更高时,这是有效的。

<?php

if(isset($_POST['sub'])){ 
    include('conn.php');  

    echo $package_name = $_POST['package_name'];  
    echo $package_amount = $_POST['package_amount'];  
    echo $package_points = $_POST['package_points'];
    echo $package_direct = $_POST['package_direct'];  
    echo $package_binary = $_POST['package_binary'];  

    $package = $conn->prepare('INSERT INTO package(pack_name, pack_amount, pack_points, pack_direct, pack_binary) VALUES (?, ?, ?, ?, ?)');  
    $package->bind_param('siiii', $package_name, $package_amount, $package_points, $package_direct, $package_binary);  
    if($package->execute()){  
        echo "Pakage Inserted ";  
    }else{  
        echo "error";  
    }  
     $package->close();  
}  


?>

谢谢

1 个答案:

答案 0 :(得分:0)

你应该使用浮动。

CREATE TABLE amounts(
  id INT(10) AUTO_INCREMENT,
  amount FLOAT(2,2) NOT NULL,
  PRIMARY KEY(id)
);

当你设置一个浮点数时,()中的数字是小数点前后的位数。例如,如果我想要一个百分比,我会将类型设置为FLOAT(3,2),以便我能够存储值100.00

如果您仍然遇到问题,可能是PHP的四舍五入问题。你应该在你的问题上发布你的代码,以便我们看看:)