我正在添加一条包含价格9.50英镑的记录,并且它正在向上/向下舍入?

Ric*_*ich -2 php mysql

我有一个简单的插入记录,用于将项添加到记录集.价格的数据字段设置为十进制,当价格字段发送时,例如9.50,它在数据库中显示为9.00.为什么?

这是php insert语句中的代码

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO buying (`user`, items, price) VALUES (%s, %s, %s)",
                   GetSQLValueString($_POST['user'], "text"),
                   GetSQLValueString($_POST['items'], "int"),
                   GetSQLValueString($_POST['price'], "int"));
Run Code Online (Sandbox Code Playgroud)

Lig*_*ica 5

手册:

DECIMAL列的声明语法是DECIMAL(M,D).

那么,你指定了D什么?听起来也许0.


编辑

我不知道是什么GetSQLValueString,但你写的GetSQLValueString($_POST['items'], "int")似乎暗示你正在创建一个整数,不是吗?

如果是这个功能,我认为你明确的意思GetSQLValueString($_POST['items'], "double").