[#7452] Fix sql errors with decimal fields in some locales

In locales where the decimal is a comma, PDO incorrectly binds the value using the locale output of a float, causing a column count mismatch error in the SQL. This is worked around by forcing the binding type to PDO::PARAM_STR for floats.

Users binding float values to decimal columns manually may need to do the same to avoid issues in locales using the comma decimal separator.

See https://bugs.php.net/bug.php?id=64132 for details on the related core PDO bug.