PDO プリペアド ステートメントでは、パラメータ名でのコロン (:) の使用が好奇心を引き起こしました。コロンを含める開発者もいますが、コロンを省略する開発者もいます。その重要性について疑問が残る余地があります。
プリペアド ステートメントの SQL 文字列を定義する場合、コロンは次のようになります。不可欠。これは、SQL 内の名前付きプレースホルダーには、列名などの他の識別子と区別するために最初の文字としてコロンが必要であるためです。
SQL 文字列とは対照的に, PDOStatement::bindParam() を使用してパラメータをバインドする場合、または PDOStatement::execute() を使用してステートメントを実行する場合、コロンはオプションです。このコンテキストでパラメーター名が省略されている場合、PHP はパラメーター名にコロンを追加します。
PHP ソース コードを詳しく調べると、基礎となるメカニズムが明らかになります。パーサーは、SQL 文字列のパラメーター名の先頭にコロンが 1 つだけあることを確認します。これにより、PHP は、コロンのない「name」という名前のパラメーターがバインドおよび実行中に「:name」として解釈されるべきであると想定できるようになります。
どちらのアプローチも技術的には有効ですが、一貫性、読みやすさ、および IDE での検索を容易にするために、コロンを使用することをお勧めします。これにより、曖昧さの可能性が排除され、SQL 文字列内の予期される形式と一致します。
以上がPDO パラメータ名のコロン: 含めるか含めないか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。