0

提供された情報に基づいてユーザー アカウントを作成するデータベースへのプッシュがあります。一部の情報は、次のような他のフィールドに基づいてのみ必要です。

$_POST['input3'] は、$_POST['radio1'] が 'other' と等しい場合にのみデータベースにプッシュされます。そうでない場合は、空の文字列をデータベースにプッシュします (その値に関係なく、input3 の値をプッシュしないでください)。

私の bindParam は次のとおりです。

$user->bindParam(':input3', ($_POST['radio1'] == 'other')?$_POST['input3']:'');

残念ながら、次のエラーが表示されます: Cannot pass parameter 2 by reference

以前は、関数から条件付き IF を取り出し、元の値または空の値がバインドされる 2 つの異なる条件を単純に持っていましたが、関数呼び出し内に条件を直接配置することが可能かどうか疑問に思っています。 .

4

1 に答える 1

2

bindParam()変数への参照を受け入れるため、式を渡すことはできません。

そのように使用したい場合は (これはお勧めしません。コメントを参照してください) bindValue()、式を受け入れる代わりに使用してください。

于 2013-10-27T21:36:19.260 に答える