将返回的记录集转换为数组

时间:2013-12-17 20:06:54

标签: php mysql arrays recordset

我正在把头发拉出来。我知道这是愚蠢的,但任何人都可以告诉我为什么我会收到以下错误:

mysql_fetch_assoc() expects parameter 1 to be resource

这是我正在尝试做的事情:

$results = $this->db->query("SELECT `user_id`, `user_group_id` FROM `" .
    DB_PREFIX . "user` WHERE `user_group_id` = " . $send_to_group . "");

$users_in_group = array();
while($row = mysql_fetch_assoc($results)){
    $users_in_group[] = $row;
}

foreach ($users_in_group as $user) {
    array_push($send_to_users, $user['user_id']);
}
unset($user);

2 个答案:

答案 0 :(得分:0)

由于MySQL错误,您可能会收到此错误。 $results不是资源,而是false。 您应该检查db对象是否有错误

答案 1 :(得分:0)

验证$ results的值,因为这可能是错误的。

首先,添加一个检查值是否正常。

if ($results) { .. } 

在调试时我们已经知道$ results为false,在查询中添加一个die(mysql_error())以查看SQL错误。

例如

mysql_query(...);

mysql_query(...) or die(mysql_error());

(与您拥有的其他数据库引擎相关)