PDOStatement::bindParam() のパラメーター名の先頭のコロンは本当に省略可能ですか?
PDOStatement::bindParam() を使用すると、次のことが可能になります。 :name などのプレースホルダーを使用して、クエリで名前付きパラメーターを指定します。ドキュメントには、名前付きプレースホルダーのパラメーター識別子には :name の形式を使用する必要があると記載されています。ただし、:name と name の両方が問題なく使用できるようだという観察があります。
ドキュメントとサポートされる機能
PDOStatement::bindParam()ドキュメントには、名前付きパラメータ (:name) にコロン接頭辞を使用することが明示的に記載されています。これは、コロンを使用しないことが正式にサポートされていないことを示唆しています。
PHP の内部動作
ドキュメントにもかかわらず、パラメータ名にコロンが存在しない場合、PHP は内部でパラメータ名にコロンを追加します。この動作は、PHP ソース コード (ext/pdo/pdo_stmt.c:363) で確認できます。これは、コロンのない名前を使用すると、PHP がその名前を自動的に追加することを意味します。
信頼性と推奨事項
この内部動作は便利ですが、次の点に注意することが重要です。公式ドキュメントではサポートされていません。したがって、この動作に依存することはお勧めできません。PDOStatement::bindParam().
を使用する場合は、名前付きパラメーターに常にコロン接頭辞を使用することをお勧めします。免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3