0

我推送到一个数据库,该数据库根据提供的信息创建一个用户帐户。某些信息仅基于其他字段是必需的,例如:

$_POST['input3'] 只有在 $_POST['radio1'] 等于 'other' 时才会被推送到数据库。如果不是,则将一个空字符串推送到数据库(无论 input3 的值如何,都不要推送它的值)。

我的 bindParam 如下:

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

不幸的是,我收到以下错误:无法通过引用传递参数 2

在过去,我将条件 IF 从函数中取出,并且只有两个不同的条件,其中原始值或空值将被绑定,但我想知道是否可以将条件直接放在函数调用中.

4

1 回答 1

2

bindParam()接受对变量的引用,因此您不能传递表达式。

如果您想以这种方式使用它(我不推荐,请参阅评论) - 然后使用bindValue()它,它接受表达式。

于 2013-10-27T21:36:19.260 回答