0

我有这些值需要保存到 MySQL 中(列DECIMAL 10, 2)。

-500.00
-500.00
35000.00

当 PHP 脚本将这些值保存到数据库中并且我将查看这些保存的值时,只有:

500.00
500.00
5000.00

怎么可能?

编辑:

保存到数据库:

mysql_query("INSERT INTO table (name, address, salary) VALUES ('$name', '$address', $salary)");

我还尝试在$salary中添加撇号,但同样的事情,并没有帮助我保存正确的值。

编辑2:

当我在执行 SQL 查询之前用这些数字打印出变量时,这些值是正确的。但是当我打印出当前执行的 SQL 查询时,有不正确的值......

4

1 回答 1

0

列定义应该DECIMAL(10, 2)跟在后面。丢失的符号可能是由“未签名”引起的。UNSIGNED

35000.00 上的错误可能是输出错误 ( sprintf)。

最统一的是,您在输出时删除第一个字符。

也许你试图改变一个'。薪水一无所有,删除第一个字符。

于 2012-12-30T00:43:32.793 回答