Похоже, что константы класса охватывают только PDO::PARAM_BOOL , PDO::PARAM_INT и PDO::PARAM_STR для привязки. Вы просто связываете десятичные / float / double значения как строки или есть лучший способ их лечения?
MySQLi позволяет использовать тип 'd' для двойки, и это удивительно, что PDO не имеет эквивалента, когда кажется, что это лучше для многих других способов.
AFAIK PDO :: PARAM_STR – это путь.
Вы должны использовать PDO :: PARAM_STR, но для SQLite и других движков это может иметь непредсказуемое поведение. См. Эту проблему для одного примера: ошибка сравнения SQLite HAVING
Если вы действительно хотите использовать PDO, вам придется вводить его как PARAM_INT , но я никогда не использую спецификацию для double .
Это необязательный параметр для указания типа PDO .
Я думаю, вам лучше не устанавливать тип PDO для double s.