Pagina 1 van 1

Foutmelding bij aanpassen gebruikerspermissies

Geplaatst: 16 jul 2006, 10:18
door brandsrus
Krijg op heden een vreemde fout als ik de gebruikerspermissies wil veranderen namelijk een sql fout

Code: Selecteer alles

Could not obtain moderator status

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') AND aa.group_id = ug.group_

SELECT ug.user_id, COUNT(auth_mod) AS is_auth_mod FROM phpbb_auth_access aa, phpbb_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 : 539
File : admin_ug_auth.php
Terwijl dit stukje een standaard stukje is uit de phpbb-installatie

De grote vraag is hoe dit op te lossen?

Geplaatst: 16 jul 2006, 12:04
door Xanland
Gebruik je PHP5?

Geplaatst: 16 jul 2006, 12:06
door brandsrus
Ik maak gebruik van php 4.4.2 in combinatie met mysql 5.0.22

Geplaatst: 16 jul 2006, 12:12
door Stef
Herleid even de $variabel die het gebruikers id aangeeft in die query.

Geplaatst: 16 jul 2006, 12:14
door brandsrus
Stef schreef:Herleid even de $variabel die het gebruikers id aangeeft in die query.
Kun je even uitleggen wat je ermee bedoeld, snap hem niet helemaal :oops:

Geplaatst: 16 jul 2006, 12:23
door Stef
Als je de query terug kan vinden - en dat is niet zo moeilijk file + lijn staan erbij - dan zie je op de plek waar de fout ontstaat een variabel staan.

Code: Selecteer alles

WHERE ug.user_id IN () AND
Tussen de haakjes hoort namelijk iets te staan, nu staat er een variabel en zodra die variabel gevuld is gaat de query goed. Maar die is niet gevuld dus gaat het fout. Nu moet je opzoek waar die variabel eigen voorstaat. Dan pas kun je kijken of hij iets niet doorgeeft.

Geplaatst: 16 jul 2006, 12:30
door ElbertF
Hier gaat het fout.

Code: Selecteer alles

		$sql = 'SELECT user_id FROM ' . USER_GROUP_TABLE . "
			WHERE group_id = $group_id";
		$result = $db->sql_query($sql);

		$group_user = array();
		while ($row = $db->sql_fetchrow($result))
		{
			$group_user[$row['user_id']] = $row['user_id'];
		}
		$db->sql_freeresult($result);

		$sql = "SELECT ug.user_id, COUNT(auth_mod) AS is_auth_mod 
			FROM " . AUTH_ACCESS_TABLE . " aa, " . USER_GROUP_TABLE . " ug 
			WHERE ug.user_id IN (" . implode(', ', $group_user) . ") 
				AND aa.group_id = ug.group_id 
				AND aa.auth_mod = 1
			GROUP BY ug.user_id";
		if ( !($result = $db->sql_query($sql)) )
		{
			message_die(GENERAL_ERROR, 'Could not obtain moderator status', '', __LINE__, __FILE__, $sql);
		}

Geplaatst: 16 jul 2006, 12:31
door brandsrus
Could not obtain moderator status

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') AND aa.group_id = ug.group_id AND aa.auth_mod = 1

SELECT ug.user_id, COUNT(auth_mod) AS is_auth_mod FROM phpbb_auth_access aa, phpbb_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 : 559
File : admin_ug_auth.php

Dat is wat ik nu krijg alleen snap ik niet waar die variabele vandaan komt want ik denk als ik de query bekijk een user_id meegenomen moet worden in combinatie met de groups id.

Geplaatst: 16 jul 2006, 12:33
door Stef
Zitten er nog gebruikers in die groep?

Geplaatst: 16 jul 2006, 12:42
door brandsrus
Het gaat hier om de gebruikerspermissies, er zit in de groep waar deze gebruiker in zit verder geen mensen in de groep, behalve hij dan.

Er zijn op het forum 2 gebruikers, 1 lid zit in de groep 'Gebruikers', waar het hier om gaat en de ander gebruiker (admin) is de zogenaamde groepseigenaar (group moderatorz mod)

Geplaatst: 16 jul 2006, 12:57
door brandsrus
Of is het beter als ik die file upnieuw mod ed.?

EDIT: ik kom er wel achter als ik iets wijzig in de opties dat dan de groupsid niet meegenomen word :shock:

Want dan krijg ik de volgende fout

Code: Selecteer alles

Couldn't update private forum permissions

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' 1, 0)' at line 2

INSERT INTO phpbb_auth_access (forum_id, group_id, auth_news, auth_mod) VALUES (1, , 1, 0)

Line : 416
File : admin_ug_auth.php
Vreemd :oops:

Geplaatst: 16 jul 2006, 13:05
door Stef
Loop hem sowieso eerst even na ja. :-)

Geplaatst: 16 jul 2006, 13:09
door brandsrus
Ik vind het bestand wel zo'n ingewikkelde materie, en naar mijn idee klopt alles. Alleen de gebruikerspermissies werken niet, terwijl de groepspermissies wel goed bewerkt worden :oops:

Ik zie geen enkele fout

Geplaatst: 16 jul 2006, 15:44
door Paul
Hoeveel rijen staan er in de groups en user_groups table als je kijkt in phpmyadmin?

Geplaatst: 16 jul 2006, 16:08
door brandsrus
paul schreef:Hoeveel rijen staan er in de groups en user_groups table als je kijkt in phpmyadmin?
Hij zijn in beide tabellen zes rijen volgens mijn phpmyadmin

Getuige de screens

Afbeelding

Afbeelding