我有一个简单的插入记录,用于将项添加到记录集。价格的数据字段设置为十进制,并且当价格字段被发送时,例如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"));
答案 0 :(得分:5)
来自the manual:
DECIMAL
列的声明语法为DECIMAL(M,D)
。
那么,您为D
指定了什么?听起来像是0
。
我不知道GetSQLValueString
是什么,但您写了GetSQLValueString($_POST['items'], "int")
这似乎意味着您正在创建一个整数,不是吗?
如果是this function,我认为你的意思是GetSQLValueString($_POST['items'], "double")
。