
有效的 PDO 占位符字符
在 PHP 中使用 PDO 处理占位符在选择有效字符时可能会很棘手。为了深入研究细节,我们首先检查提供的示例代码:
1 2 3 4 5 6 7 8 | $calories = 150;
$colour = 'red' ;
$sth = $dbh ->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < :calories AND colour = :colour');
$sth ->bindParam( ':calories' , $calories , PDO::PARAM_INT);
$sth ->bindParam( ':colour' , $colour , PDO::PARAM_STR, 12);
$sth ->execute();
|
登录后复制
在此示例中,我们使用占位符“:colour”。哪些字符被视为有效的占位符?答案就在源代码中。经过检查,我们发现以下正则表达式:
1 | BINDCHR = [:][a-zA-Z0-9_]+;
|
登录后复制
这意味着占位符必须包含以下元素:
- 可选的前导冒号 (:)
- 至少一个字母数字字符(a-z、A-Z、0-9)
- 可选的尾随下划线 (_)
因此,有效的占位符字符包括:
- 所有小写字母 (a-z)
- 所有大写字母 (A-Z)
- 所有数字 (0-9)
- 下划线字符(_)
问题中提到的连字符 (-) 不是有效字符。带下划线的字母数字字符为占位符名称提供了方便且全面的选项。
以上是PHP 中哪些字符对 PDO 占位符有效?的详细内容。更多信息请关注PHP中文网其他相关文章!