Pagina 1 van 1

sql foutmelding met mod aanwijzen

Geplaatst: 03 sep 2006, 19:54
door Cheeta
Support Template
  • Wat is het probleem?
    Ik kan de ene gebruiker wel mod maken en de andere niet terwijl gegevens nagenoeg gelijk zijn aan mekaar.

    krijg de volgende foutmelding bij de gebruiker waar het fout gaat hier ontbreekt dus gewoon een waarde

    Code: Selecteer alles

    Couldn't update private forum permissions
    
    DEBUG MODE
    
    SQL Error : 1064 You have an error in your SQL syntax near ' 1)' at line 2
    
    INSERT INTO derbi_auth_access (forum_id, group_id, auth_mod) VALUES (9, , 1)
    
    Line : 397
    File : admin_ug_auth.php
    als ik geen enkel fourm aanwijs als mod bij deze gebruiker krijg ik

    Code: Selecteer alles

    Could not obtain moderator status
    
    DEBUG MODE
    
    SQL Error : 1064 You have an error in your SQL syntax near ') AND aa.group_id = ug.group_id AND aa.auth_mod = 1 GROUP BY ug.' at line 3
    
    SELECT ug.user_id, COUNT(auth_mod) AS is_auth_mod FROM derbi_auth_access aa, derbi_user_group ug WHERE ug.user_id IN () AND aa.group_id = ug.group_id AND aa.auth_mod = 1 GROUP BY ug.user_id
    
    Line : 538
    File : admin_ug_auth.php
    Wanneer ontstond het probleem? onbekend
    Adres van je forum: http://www.derbi-club.com/forum
    Modifications op je forum: hoop yellow card mod is de enige met mod te maken heeft
    Huidige stijl: eigen op phpbb subsilver gebouwt
    phpBB versie: 2.0.21
    Waar is je forum gehost: nlhosting
    Heb je onlangs iets verandert aan je forum? database overgezet handmatig van vbulletin naar phpbb
Overige opmerkingen:

er zijn nog enkele kleine problemen bij vooral user gerelateerde paginas zoals memberlist profile.php en privmsg

Geplaatst: 03 sep 2006, 21:10
door Luuk
Op de een of andere manier klopt group_id niet bij beide errors.
Normaal wordt dat hier uit de database gehaalt:

Code: Selecteer alles

	if ( $mode == 'user' )
	{
		//
		// Get group_id for this user_id
		//
		$sql = "SELECT g.group_id, u.user_level
			FROM " . USER_GROUP_TABLE . " ug, " . USERS_TABLE . " u, " . GROUPS_TABLE . " g
			WHERE u.user_id = $user_id 
				AND ug.user_id = u.user_id 
				AND g.group_id = ug.group_id 
				AND g.group_single_user = " . TRUE;
		if ( !($result = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, 'Could not select info from user/user_group table', '', __LINE__, __FILE__, $sql);
		}

		$row = $db->sql_fetchrow($result);

		$group_id = $row['group_id'];
		$user_level = $row['user_level'];

		$db->sql_freeresult($result);
	}
Maar als jij handmatig tabellen hebt overgezet kan het goed zijn dat je stukken mist. Iedere gebruiker heeft namelijk een eigen user_group, ik denk dat dat niet is bij jouw. Daardoor kan hij ook geen group_id vinden.

Geplaatst: 03 sep 2006, 21:24
door Cheeta
group_id wordt niet ingevuld

ik gaat heel even kijken

EDIT: daar zit inderdaad het probleem, hoe kan ik dit fixen?

Geplaatst: 03 sep 2006, 21:44
door Paul
Volgens mij ben ik op phpbb.com ooit een script door de maker van CH tegerngekomen die een mod had die de groeps tables herbouwde.