bindParam の「パラメーターを参照によって渡すことはできません」エラーのトラブルシューティング
null または空の文字列などの定数値を指定して bindingParam を利用する場合、次のような問題が発生する可能性があります。この厄介なエラーに遭遇します。原因は、bindParam と bindingValue の根本的な違いにあります。
bindParam と bindingValue
bindParam は参照によって渡される変数パラメーターを期待しますが、bindValue は値を直接割り当てます。プレースホルダー。この区別は、定数値を扱う場合に重要になります。
解決策:bindValue を使用します
エラーを解決するには、bindParam を bindingValue に置き換えます。 null 値の場合は、次の構文を使用します。
$stmt->bindValue(':param', null, PDO::PARAM_INT);
注:
bindParam と PDO::PARAM_NULL を使用して null 値をバインドしようとすると、すべての場合に機能するとは限りません。ユーザー。 bindingValue は、より信頼性の高いソリューションであることが証明されています。
以上がPDO で定数値を指定すると `bindParam` が失敗するのはなぜですか? どうすれば修正できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。