Intereting Posts

Является ли ведущий двоеточие для имен параметров передан в PDOStatement :: bindParam () необязательно?

При передаче именованных параметров формы :name to PDOStatement::bindParam() , похоже, работает, используется ли ведущий двоеточие.

т.е. либо это:

 $statement->bindParam(':name', $var); 

или это:

 $statement->bindParam('name', $var); 

похоже работа.

Вот документация для PDOStatement::bindParam()

параметр

Идентификатор параметра. Для подготовленного оператора с использованием именованных заполнителей это будет имя параметра формы : name. Для подготовленного заявления с использованием заполнителей вопросительных знаков это будет 1-индексированная позиция параметра.

Означает ли это, что двоеточие можно остановить?

Нет, поскольку в документации не упоминается об этом, я думаю, что можно с уверенностью предположить, что это поведение официально не поддерживается и на него нельзя положиться.

Однако на самом деле это действительно работает (по крайней мере, в PHP 5.3.24) – внутренне двоеточие будет добавлено к параметру, если оно отсутствует ( см. ext/pdo/pdo_stmt.c:363 в исходном коде PHP 5.3.24 ) ,