猿问

PDO占位符的有效字符

在带有PDO的PHP中,我们只能使用哪些字符。我尝试过在文档中和在线查找,但无济于事。

我确实找到了一个帖子,其中用户使用连字符来打乱查询。我正在编写一个动态生成这些名称的函数,并且由于连字符不是,因此我想知道是否有替代列表。

<?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'中将允许使用哪些字符?


一只甜甜圈
浏览 566回答 3
3回答

慕码人8056858

如果我正确阅读了PDO SQL解析器源代码,则为字母数字字符加下划线。

小怪兽爱吃肉

仅查看源代码,我就可以看到其中的错误……它们的注释表达是错误的。--必须紧跟空格,而不仅仅是非换行符。
随时随地看视频慕课网APP
我要回答