每当我使用它时,它会将数据库中的每个人更新为相同的等级
if (isset($_POST['adduser'])) {
db_update('members')
->fields(array(
'rank' => $_POST['person_rank'],
))
->where('name' <> $_POST['person'])
->execute();
header('Location: http://www.krokgaming.org/members');
}
我已经尝试过,->where('name' =
但这不起作用。
答案 0 :(得分:2)
您没有正确使用条件。第一个参数应该只是字段,而不是比较运算符和您要比较的值(实际上将解析为布尔值)。
变化:
->where('name' <> $_POST['person'])
是:
->condition('name', $_POST['person'], '<>')
如果你想使用where()
方法,你必须传递一个实际的where子句(你的代码片段评估比较并传递一个布尔值),以及命名参数:
->where('name <> :name', array(':name' => $_POST['person']))
此外,您应该在使用之前清理POST数据。
哦,对于Drupal的问题,你应该看看http://drupal.stackexchange.com。