Является ли ведущий двоеточие для имен параметров передан в PDOStatement:: bindParam() необязательно?
При передаче именованных параметров формы :name
в PDOStatement::bindParam()
, кажется, работает, используется ли ведущий двоеточие.
то есть. либо это:
$statement->bindParam(':name', $var);
или это:
$statement->bindParam('name', $var);
похоже, работает.
Здесь документация для PDOStatement::bindParam()
параметр
Идентификатор параметра. Для подготовленного заявления с использованием имени заполнители, это будет имя параметра формы: name. Для подготовленного заявления с использованием заполнителей вопросительных знаков, это будет 1-индексированное положение параметра.
Означает ли это, что двоеточие можно остановить?
Ответы
Ответ 1
Нет, так как в документации не упоминается об этом, я считаю безопасным предположить, что это поведение официально не поддерживается и на него нельзя положиться.
Однако на самом деле это работает (в PHP 5.3.24) - внутренне двоеточие будет добавлено к параметру, если оно отсутствует (см. ext/pdo/pdo_stmt.c:363
в исходном коде PHP 5.3.24).