-1

为什么我不能这样做(这是在函数内部):

switch($a) {
case 'userStatus':
break;

case 'userCanEdit':
break;

case 'userCanView':
break;

default:
echo 'Unable to identify type';
return false;

$sqlUpdateId = 'update users set :sql = :status where userId = :id and code = :code';

$updateId->bindParam(':sql',$a);
}

注意到这:sql部分了吗?它在上面设置,并在通过一个开关后通过。但这行不通。只能绑定输入值吗?这将节省大量代码。

4

2 回答 2

2

但您可以执行以下操作:

$allowedColumns = ('userStatus', 'userCanEdit', ...);
if (in_array($a, $allowedColumns)) {
    $sqlUpdateId = 'update users set ' . $a . ' = :status where userId = :id and code = :code';
}
于 2013-06-10T13:20:47.793 回答
1

不,您不能绑定列名,只能绑定值。

于 2013-06-10T13:10:20.287 回答