Home >Backend Development >PHP Tutorial >What Characters Are Valid in PDO Placeholders?

What Characters Are Valid in PDO Placeholders?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-17 09:08:25310browse

What Characters Are Valid in PDO Placeholders?

PDO Placeholders: Valid Characters

When working with PHP and PDO, the characters that can be used in placeholders are crucial for the proper execution of prepared statements. While the PDO documentation provides limited information on this aspect, it's essential to understand the restrictions to avoid errors.

While placeholder names can be named with letters, numbers, and underscores, certain characters like hyphens are not allowed. As demonstrated in the example below, using a hyphen in the placeholder name ':colour' can cause the query to fail:

$sth = $dbh->prepare('SELECT name, colour, calories
    FROM fruit
    WHERE calories < :calories AND colour = :colour');

To ascertain the valid characters, we can examine the source code:

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

This regex reveals that placeholder names must adhere to the following rules:

  • They can optionally start with a colon (':')
  • They must consist of letters, numbers, or underscores
  • Hyphens are not permitted

Therefore, when dynamically generating placeholder names, it's crucial to adhere to these restrictions to ensure the proper execution of prepared statements.

The above is the detailed content of What Characters Are Valid in PDO Placeholders?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn