ホームページ >バックエンド開発 >PHPチュートリアル >PHP の PDO プレースホルダーとして有効な文字は何ですか?

PHP の PDO プレースホルダーとして有効な文字は何ですか?

DDD
DDDオリジナル
2024-12-06 08:18:16823ブラウズ

What Characters Are Valid for PDO Placeholders in PHP?

有効な PDO プレースホルダー文字

PDO を使用した PHP でのプレースホルダーの操作は、有効な文字を選択する際に注意が必要な場合があります。詳細を詳しく調べるために、まず提供されているサンプル コードを調べてみましょう。

$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" を使用しています。プレースホルダーとして有効とみなされる文字は何ですか?答えはソースコードにあります。検査すると、次の正規表現が見つかりました:

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

これは、プレースホルダーが次の要素で構成されている必要があることを意味します:

  • オプションの先頭コロン (:)
  • 少なくとも 1 つの英数字 (a-z、A-Z、0-9)
  • オプション末尾のアンダースコア (_)

したがって、有効なプレースホルダー文字には次のものが含まれます:

  • すべて小文字 (a ~ z)
  • すべて大文字 (A ~ Z)
  • すべての数字 (0-9)
  • 質問に記載されているように、アンダースコア文字 (_)

ハイフン (-) は有効な文字ではありません。アンダースコアを含む英数字は、プレースホルダー名の便利で包括的なオプションを提供します。

以上がPHP の PDO プレースホルダーとして有効な文字は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。