@andho: Строгий режим не включен по умолчанию, поэтому да, если для одного из конкретных драйверов PDO задана одна нестандартная настройка, это может быть полезно. Для остальных 99% пользователей, к которым ваш дополнительный случай не относится, настройка не очень полезна, как я указал в своем ответе.

tatement :: bindValue () Метод предлагает способ указать тип связанной переменной:PDOStatement :: bindValue ($ параметр, $ значение [,

$ data_type = PDO :: PARAM_STR ])Мне интересно, какова цель указания типа данных, тогда как при выходе по умолчанию (

) в конце концов, база данных все равно приведёт значение к нужному типу перед его использованием?PARAM_STRНапример, если у вас есть эти запросы более

 поле:INTEGERИ вы связываете целое число в PHP, PDO по умолчанию связывает его как строку, что эквивалентно:

INSERT INTO table (integerField) VALUES (?) ;
SELECT * FROM table WHERE integerField = ?  ;

Это будет работать безупречно, потому что база данных SQL (по крайней мере, MySQL, я на самом деле не знаю, как это будет работать на других СУБД) знает, как преобразовать строку обратно в целое число перед ее использованием.

INSERT INTO table (integerField) VALUES ("1") ;
SELECT * FROM table WHERE integerField = "1"  ;

Каковы случаи использования, когда это будет иметь значение для связанных типизированных параметров против строк?

Возможный дубликат

Ответы на вопрос(3)

Ваш ответ на вопрос