开发者

PDO valid characters for placeholders

开发者 https://www.devze.com 2023-03-01 07:16 出处:网络
In PHP with PDO, what characters are we limited to using. I\'ve tried looking in the documentation and online but to no avail.

In PHP with PDO, what characters are we limited to using. I've tried looking in the documentation and online but to no avail.

I did find a post where开发者_如何学Python 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();
?>

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.


If I read the PDO SQL parser source code correctly, it's alphanumeric characters plus underscore.

0

精彩评论

暂无评论...
验证码 换一张
取 消