我必须把一些项目的价格放在一个
mysql表中.创建表时,我使用DECIMAL(10,2),因为逗号后不需要超过2位数字(例如:123,45将被接受为输入,但123,456将舍入为123,45,其中
PHP).
第一个问题:使用DECIMAL(10,我如何知道逗号之前可能存储多少个数字?我知道它不是10,因为10是MysqL在使用这些数字进行数学运算时所使用的精度:所以指定数字的长度在哪里?
第二个问题:我使用PHP来舍入用户输入以适应数据类型(逗号后面带有2个数字的float).我应该如何使用MysqLi-> bind_param来插入这些数据?我应该使用(或可能:为什么)使用bind_param接受的这些数据类型(来自documentation)?
Character Description i corresponding variable has type integer d corresponding variable has type double s corresponding variable has type string b corresponding variable is a blob and will be sent in packets
DECIMAL(10,2)表示10是要使用的最大位数. 2指定小数点右侧有两个.所以这意味着左侧有8位数字.见
the manual
原文链接:https://www.f2er.com/php/131351.html对于数据类型,您应该使用double,因为这是十进制数.
整数没有十进制字符,所以它将会显示所有数字.字符串用于文本,而不是数字值. Blob是一个二进制大对象,EG:一个图像