Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

PDO valid characters for placeholders

Tags:

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 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'?

like image 317
SeanDowney Avatar asked Apr 27 '11 20:04

SeanDowney


1 Answers

The easiest way to find out, is to just check the source code:

BINDCHR     = [:][a-zA-Z0-9_]+; 

You can use alphanumeric + underscore.

like image 101
NikiC Avatar answered Oct 07 '22 21:10

NikiC