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

时间:2011-09-19 11:18:31

标签: 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"));

1 个答案:

答案 0 :(得分:5)

来自the manual

  

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

那么,您为D指定了什么?听起来像是0


修改

我不知道GetSQLValueString是什么,但您写了GetSQLValueString($_POST['items'], "int")这似乎意味着您正在创建一个整数,不是吗?

如果是this function,我认为你的意思是GetSQLValueString($_POST['items'], "double")