将:name
形式的命名参数传递给PDOStatement::bindParam()
时,无论是否使用了前导冒号,它似乎都有效。
即。要么:
$statement->bindParam(':name', $var);
或者这个:
$statement->bindParam('name', $var);
似乎有效。
的文档参数
参数标识符。对于使用named的预准备语句 占位符,这将是:name。形式的参数名称 准备好使用问号占位符的声明,这将是 1参数的索引位置。
这是否意味着结肠可以停止?
答案 0 :(得分:28)
不,因为文档没有提到这一点,我认为可以安全地假设这种行为不是官方支持的,不应该依赖它。
然而,它实际上确实起作用(至少在PHP 5.3.24中) - 如果参数缺失(see ext/pdo/pdo_stmt.c:363
in the PHP 5.3.24 source code),则会在内部添加冒号。