Каков наилучший способ привязки значений десятичных/двойных/плавающих значений с PDO в PHP?

Похоже, что константы класса охватывают только PDO::PARAM_BOOL, PDO::PARAM_INT и PDO::PARAM_STR для привязки. Вы просто связываете десятичные /float/double значения как строки или есть лучший способ их лечения?

MySQLi допускает тип 'd' для double, это удивительно, что PDO не имеет эквивалента, когда кажется, что это лучше для многих других способов.

Ответ 1

AFAIK PDO:: PARAM_STR - это путь.

Ответ 2

Вы должны использовать PDO:: PARAM_STR, но для SQLite и других движков это может иметь непредсказуемое поведение. См. Эту проблему для одного примера: Ошибка сравнения SQLite HAVING

Ответ 3

Если вы действительно хотите использовать PDO, вам нужно будет ввести его как PARAM_INT, но я никогда не использую спецификацию для double.

Это необязательный параметр для указания типа PDO.

Я думаю, вам лучше не устанавливать тип PDO для double s.