占位符的 PDO 有效字符

时间:2023-04-09
本文介绍了占位符的 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.

这篇关于占位符的 PDO 有效字符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

上一篇:用 PHP 检测 SSL 下一篇:PDO 参数化查询 - 重用命名占位符?

相关文章