我尝试计算Drupal数据库中的角色数量,并使用结果执行另一个语句。但由于某种原因,它失败了。我做错了什么?
$numberofroles = db_query('SELECT COUNT(rid) FROM {role}');
$roles = 1;
while ($roles < $numberofroles) {
db_query('INSERT INTO {taxonomy_access_default} (vid, rid, grant_view, grant_update, grant_delete, grant_create, grant_list) VALUES(0, '.$roles.', 1, 0, 0, 0, 1)');
$roles++;
}
答案 0 :(得分:1)
Drupal6:
$val = db_result(db_query({...}))
Drupal7:
$val = db_query({...})->fetchField();
答案 1 :(得分:0)
db_query返回什么?您的SQL查询将返回单个列和单个行,但db_query是否返回整数或结果集作为数组?
print $ numberofroles(提示:$ numberOfRoles更容易阅读)并查看其价值。如果它打印为array()
,那么您需要处理数组并提取所需的值,可能$numberofroles[0][0]