2

我正在开发具有mysql backend. Mysql 已经是设计的数据库,目前也在 PC 站点上运行。因此,我在移动设备上开发单独的前端,但使用相同的数据库并编写我自己的 php 代码来更新相同的数据库。我的问题是数据库有一个列(价格),其类型是float(当我使用 desc 时,只给出浮点类型,没有像 (5,4) 这样的额外信息)。

问题是——>当我按原样插入数据时,就像用户输入一样1234,我将作为 1234 插入数据库,并且它以相同的方式存储。但是当 PC 站点上显示相同的信息时,它显示 0.01 为1234. 因此,我对从 PC 站点插入的数据进行了一些搜索。如果用户插入 1234,它们将被插入到数据库列1234000000中。在网站上的价格信息中,它显示正确的价格,如 1234。

那么,在插入我的移动 php 代码之前,我是否需要在我的号码末尾附加六个 0,或者是否有任何类型的格式化技术?任何帮助是极大的赞赏。提前致谢。

编辑:代码片段

$price = mysql_real_escape_string($_POST[$enteredprice]);

mysql_query("INSERT INTO item(s_secret, i_price) 
        VALUES('$secretcode','$price')",$db);

其中 $price 包含用户输入的价格值。正如我上面的解释,如果用户输入 1234,$price 包含 1234。

4

1 回答 1

1

如果您无法按照建议使用定点更改表格,并且绑定到您描述的格式,您可以执行以下操作。但是,当没有使用实际的十进制值时,该字段是浮动的,这似乎很奇怪。

"INSERT INTO item(s_secret, i_price) VALUES('$secretcode','".($price*1000000)."')"

这假定您可以在表单中指定带小数的值。

于 2013-01-10T09:21:51.103 回答