0

セッションや配列については、まだあまり得意ではありません。

ここに私がこれまでに持っているものがありますが、エラーが発生しています

警告: 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']);
}

どんな助けでも大歓迎です。:)

4

2 に答える 2

1

警告: mysql_fetch_array(): 指定された引数は有効な MySQL 結果リソースではありません。

$checkgroupadminmysql_fetch_array() が必要とする実際のクエリ リソースではないため、エラーが発生しています。

$checkgroupadmin = $this->db->query("SELECT group_id FROM groupadmin WHERE contact_id = $contactid");`

つまり、上記のオブジェクト指向呼び出しは mysql リソース クエリを返しません。

とにかく、オブジェクト指向スタイルと手続き型スタイルを混ぜているのはなぜですか。第二に、上記のコード$this>db->queryはクラスのメソッド内で発生する必要があります

于 2012-10-29T18:15:43.763 に答える
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;

mysql_ *拡張機能は非推奨になり、代わりにmysqliまたはPDOを使用する必要があることに注意してください。

于 2012-10-29T18:09:28.370 に答える