我对会话或阵列不太满意。
这是我到目前为止所得到的错误
警告:mysql_fetch_array():提供的参数不是有效的MySQL结果资源。
这是我的代码:
$checkgroupadmin = $this->db->query("SELECT group_id FROM groupadmin
WHERE contact_id = $contactid");
while ($adminrow = mysql_fetch_array($checkgroupadmin, MYSQL_ASSOC)) {
$_SESSION[group_admin] = array('group'=>$adminrow['group_id']);
}
任何帮助将不胜感激。 :)
答案 0 :(得分:1)
警告:mysql_fetch_array():提供的参数不是有效的MySQL结果资源。
您收到错误是因为$checkgroupadmin
不是mysql_fetch_array()所需的实际查询资源。
$checkgroupadmin = $this->db->query("SELECT group_id FROM groupadmin WHERE contact_id = $contactid");`
换句话说,上面的面向对象调用没有返回mysql资源查询。
为什么要将面向对象的风格与程序风格混合在一起。其次,上面的代码$this>db->query
应该在Class'方法
答案 1 :(得分:0)
mysql_fetch_array()
返回当前结果的关联数组,但在您的代码中,您只需覆盖$_SESSION
中每个结果的相同值。您可能需要创建自己的结果ID数组,然后将其分配给$_SESSION
变量。
// query database
$checkgroupadmin = $this->db->query("SELECT group_id FROM groupadmin WHERE contact_id = $contactid");
// array to hold each group_id
$result_array = array();
// varify that $checkgroupadmin returned results
if ($checkgroupadmin){
// get results into associative array
while ($adminrow = mysql_fetch_array($checkgroupadmin, MYSQL_ASSOC)) {
// put the group id into your results array
$result_array[] = $adminrow['group_id'];
}
}
// set results array to the 'group_admin' key in $_SESSION
$_SESSION['group_admin'] = $result_array;