将表单的命名参数传递:name给时PDOStatement::bindParam(),无论是否使用了前导冒号,它似乎都有效.
即:这个:
$statement->bindParam(':name', $var);
Run Code Online (Sandbox Code Playgroud)
或这个:
$statement->bindParam('name', $var);
Run Code Online (Sandbox Code Playgroud)
似乎工作.
这是文档 PDOStatement::bindParam()
参数
参数标识符.对于使用命名占位符的预准备语句,这将是以下形式的参数名称:name.对于使用问号占位符的预准备语句,这将是参数的1索引位置.
这是否意味着结肠可以被取消?
Joh*_*ter 29
不,因为文档没有提到这一点,我认为可以安全地假设这种行为不是官方支持的,不应该依赖.
但是,它实际上确实有效(至少在PHP 5.3.24中) - 如果缺少冒号,则会在内部添加一个冒号(参见ext/pdo/pdo_stmt.c:363PHP 5.3.24源代码).
| 归档时间: |
|
| 查看次数: |
2895 次 |
| 最近记录: |