将形式为:name
的命名参数传递给PDOStatement::bindParam()
时,无论是否使用前导冒号,它都可以正常工作。传递给PDOStatement :: bindParam()的参数名称的前导冒号是否可选?
即无论是这样的:
$statement->bindParam(':name', $var);
或本:
$statement->bindParam('name', $var);
似乎工作。
参数
参数标识的文档。对于使用名为 占位符的准备好的语句,这将是名称为的参数名称。对于使用问号占位符的 准备好的语句,这将是参数的1索引位置 。
这是否意味着冒号可以被忽略?
我想说冒号在SQL表达式中是需要的,但是当您用'bindParam'命名(识别)名称时不需要冒号。 PDO函数在这里可能不那么严格,因为它可以定义它自己的接口来命名参数。 – hakre 2012-07-01 11:01:50