PDOStatement::bindParam() パラメータ名の先頭のコロンはオプションですか?

DDD
リリース: 2024-11-14 09:58:02
オリジナル
528 人が閲覧しました

Is the Leading Colon Optional in PDOStatement::bindParam() Parameter Names?

PDOStatement::bindParam() パラメーター名のオプションの先頭コロン

PDOStatement::bindParam() の PHP ドキュメントには、パラメーターが次のように記載されています。名前付きプレースホルダーの識別子は、「:name」という形式にする必要があります。ただし、一部のユーザーは、先頭のコロンがオプションであるように見えることを観察しています。

Is the Colon Optional?

ドキュメントによると、いいえ、コロンは使用すべきではありません。省略。オプションのコロンについて明示的に言及していないことは、この動作が公式にサポートされておらず、信頼すべきではないことを示唆しています。

しかし、待ってください...

興味深いことに、PHP 5.3.24 (およびおそらく他のバージョン) では、先頭のコロンを省略しても実際に機能します。これは、パラメータにコロンが存在しない場合、内部的にコロンが追加されるためです。この動作は、ext/pdo/pdo_stmt.c:363 (PHP 5.3.24) のソース コードにあります。

影響

この回避策は現在機能していますが、 、慎重に使用する必要があります。 PHP の将来のバージョンまたは PDO の動作の変更により、この機能が壊れる可能性があります。したがって、ドキュメントに準拠し、PDOStatement::bindParam().

で名前付きプレースホルダーを使用する場合は、常に先頭にコロンを含めることがベスト プラクティスです。

以上がPDOStatement::bindParam() パラメータ名の先頭のコロンはオプションですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート