pdoparam for type decimal

pdoparam for type decimal  using -'php,mysql,database,pdo'

I have 2 database fields

`decval` decimal(5,2)
`intval` int(3)

I have 2 pdo queries that update them. The one that updates the int works ok

$update_intval->bindParam(':intval', $intval, PDO::PARAM_INT);

but I can't update the decimal field. I've tried the 3 ways below, but nothing works

$update_decval->bindParam(':decval', $decval, PDO::PARAM_STR);
$update_decval->bindParam(':decval', $decval, PDO::PARAM_INT);
$update_decval->bindParam(':decval', $decval);

It seems the problem is with the database type decimal? Is there a PDO::PARAM for a field of type decimal? If not, what do I use as a workaround?

asked Sep 14, 2015 by VidaRendall
0 votes

2 Answers

0 votes

I found out, looking for a way of storing DOULBEs using PDO, that if you don't provide the third argument (i.e. PDO::PARAM_*) it uses some kind of magic and stores the number correctly. So maybe if you just left PDO to worry about the parameter type and merrily bind :decval to a $decval and hop along to the next task :-))

answered Sep 14, 2015 by Tania1716uic
0 votes

UP must use the PDO::PARAM_STR same, and noting that if the column in the database is of type NUMERIC (M, D) or decimal (M, D) should be observed that the M is the number of characters precision should be the total of characters that you can enter, and D the number of decimal places. In the example NUMERIC (10,2) we have 8 houses to places of accuracy and two decimal places. So we have 10 characters in total with 2 reserved for decimal places.

answered Sep 14, 2015 by GraRoby