ホームページ > データベース > mysql チュートリアル > PDO で定数値を指定して `bindParam` を使用できないのはなぜですか?

PDO で定数値を指定して `bindParam` を使用できないのはなぜですか?

Patricia Arquette
リリース: 2024-12-08 05:10:12
オリジナル
295 人が閲覧しました

Why Can't I Use `bindParam` with Constant Values in PDO?

定数値のbindParamを使用してパラメータを参照渡しできません?

PDOを使用する場合、「渡せません」というエラーが発生する場合があります。定数値でbindParamを使用する場合は、パラメータ2を参照してください。その理由と解決方法は次のとおりです。

問題

bindParam は、定数値ではなく参照として変数をバインドすることを期待しています。 null、'' (空の文字列)、PDO::PARAM_NULL などの定数値は参照渡しできません。

解決策

定数値をバインドするには、bindValue を使用します。 bindParam の代わりに。 bindValue は、参照渡しせずにリテラル値を受け入れます。次のコードは、bindValue を使用して NULL 値を挿入します。

$stmt->bindValue(':v1', null, PDO::PARAM_NULL);
ログイン後にコピー

注:

  • bindParam は変数の値への参照を作成するため、変数が必要です。 .
  • bindValue は参照を作成せず、定数値を受け入れます
  • PDO::PARAM_NULL は、bindValue と一緒に使用できません。

以上がPDO で定数値を指定して `bindParam` を使用できないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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