简单的SQL请求失败

时间:2011-11-08 12:36:13

标签: mysql drupal count

我尝试计算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++;
}

2 个答案:

答案 0 :(得分:1)

你忘记了吗? - &gt; fetchField()?

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]