占位符的 PDO 有效字符
在带有 PDO 的 PHP 中,我们限制使用哪些字符.我试过查看文档和在线,但无济于事.
In PHP with PDO, what characters are we limited to using. I've tried looking in the documentation and online but to no avail.
我确实找到了一个帖子,其中用户在名称中使用了连字符,从而破坏了查询.我正在编写一个动态生成这些名称的函数,由于连字符不是 nos,我想知道是否有替代列表.
I did find a post where a user had used a hypen in the name which broke the query. I'm writing a function that dynamically generates these names and since hyphens are no nos, I was wondering if there was a list of alternatives.
<?php
/* Execute a prepared statement by binding PHP variables */
$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' 中允许使用哪些字符?
So in this example what characters would be allowed in the string ':colour'?
推荐答案
最简单的方法就是查看 源代码:
The easiest way to find out, is to just check the source code:
BINDCHR = [:][a-zA-Z0-9_]+;
您可以使用字母数字 + 下划线.
You can use alphanumeric + underscore.
相关文章