在PHP中使用PDO,我们限制使用哪些字符.我试过在文档和在线查找,但无济于事.
我找到了一个帖子,其中一个用户在名称中使用了一个打破了查询的超级用户.我正在编写一个动态生成这些名称的函数,因为连字符不是nos,我想知道是否有一个备选列表.
<?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();
?>
Run Code Online (Sandbox Code Playgroud)
那么在这个例子中,字符串':color'中允许哪些字符?
Nik*_*kiC 33
最简单的方法是查看源代码:
https://github.com/php/php-src/blob/master/ext/pdo/pdo_sql_parser.re#L49:
BINDCHR = [:][a-zA-Z0-9_]+;
Run Code Online (Sandbox Code Playgroud)
您可以使用字母数字+下划线.
| 归档时间: |
|
| 查看次数: |
3471 次 |
| 最近记录: |