Seite 2 von 5

Verfasst: 23.02.2006 14:31
von Mungo
Nach dem Einbau von welchem MOD tritt denn der Fehler auf?

Verfasst: 23.02.2006 14:56
von Gulaschk@none
Das ist auch ein prob habe das Forum installier dann alle Mod's raufgespielt ,daher weiß ich nicht mit welcher datei-mod das zusammen hängt /die datei ist auch nie bearbeitet worden

Verfasst: 23.02.2006 18:48
von foso
Ich beziehe mich hier nur auf die 'INSERT' Syntax, einen eventuellen Fehler in Bezug auf eine nicht-gesetzte $groupid müsstest du natürlich extra überprüfen.

mich macht das hier stutzig:
INSERT INTO phpbb_auth_access (forum_id, group_id, auth_mod) VALUES (2, , 1)
speziell

Code: Alles auswählen

VALUES (2, , 1)
sieht ein wenig schlampig aus, da du hier im 2. value nicht angibst was übergeben werden soll.
In der mysql-dokumentation habe ich dazu folgendes gefunden:
http://dev.mysql.com/doc/refman/5.1/en/insert.html
If you are not running in strict SQL mode, any column not explicitly given a value is set to its default (explicit or implicit) value.

Use the keyword DEFAULT to set a column explicitly to its default value.
soll heissen: eventuell läuft dein mysql-server im "strict SQL mode" und da hier kein wert übergeben wird , nicht einmal eine 0 oder '' nimmt er den INSERT befehl nicht an.

du könntest es mit einer einfachen if-funktion ala

Code: Alles auswählen

if ( !isset($groupid)  || $groupid=='' ) $groupid = 'DEFAULT';
überprüfen (keine garantie ob das jetzt alles korrekter php-code ist, bin zu faul nachzuschauen).

Verfasst: 23.02.2006 19:14
von Gulaschk@none
foso hat geschrieben:Ich beziehe mich hier nur auf die 'INSERT' Syntax, einen eventuellen Fehler in Bezug auf eine nicht-gesetzte $groupid müsstest du natürlich extra überprüfen.

mich macht das hier stutzig:
INSERT INTO phpbb_auth_access (forum_id, group_id, auth_mod) VALUES (2, , 1)
speziell

Code: Alles auswählen

VALUES (2, , 1)
sieht ein wenig schlampig aus, da du hier im 2. value nicht angibst was übergeben werden soll.
In der mysql-dokumentation habe ich dazu folgendes gefunden:
http://dev.mysql.com/doc/refman/5.1/en/insert.html
If you are not running in strict SQL mode, any column not explicitly given a value is set to its default (explicit or implicit) value.

Use the keyword DEFAULT to set a column explicitly to its default value.
soll heissen: eventuell läuft dein mysql-server im "strict SQL mode" und da hier kein wert übergeben wird , nicht einmal eine 0 oder '' nimmt er den INSERT befehl nicht an.

du könntest es mit einer einfachen if-funktion ala

Code: Alles auswählen

if ( !isset($groupid)  || $groupid=='' ) $groupid = 'DEFAULT';
überprüfen (keine garantie ob das jetzt alles korrekter php-code ist, bin zu faul nachzuschauen).
ja schön das sieht doch schonmal gut aus ,wo müßte ich den code einfügen ?

Verfasst: 24.02.2006 17:13
von Gulaschk@none
''schieb'' kommt schon bitte helft mir das ist das einzige prob was ich mit mein board habe :cry:

Verfasst: 24.02.2006 20:12
von foso
versuch das hier

Code: Alles auswählen

if ( !(isset($group_id))  || ($group_id=='') ) $group_id = 'DEFAULT';
vor

Code: Alles auswählen

$sql = "INSERT INTO " . AUTH_ACCESS_TABLE[...]
einzufügen.

Verfasst: 24.02.2006 23:29
von Gulaschk@none
Hi... erstmal großen DANK das du mir Hilfst :grin:

Habe es jetze eingefügt jetze zeigt er mir das an :

Allgemeiner Fehler
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 : 532
File : admin_ug_auth.php

Verfasst: 25.02.2006 01:48
von foso
das ist wieder der gleiche fehler, du könntest mir die entsprechenden zeilen um
Line : 532
File : admin_ug_auth.php
herum posten, dann könnte ich eventuell wieder helfen.


Ich will hier nur mal anmerken dass ich hier nicht auf probleme im phpbbsource eingehe, weil ich mich nicht näher damit auskenne. Ich versuche nur die eventuellen probleme durch unsaubere programmierung zu beheben, die hier (meiner vermutung nach) vorliegen in bezug auf diesen zuvor genannten mysql_safe status.

Verfasst: 25.02.2006 11:08
von Gulaschk@none
Hallo hier ist der block:

Code: Alles auswählen

				$sql = "SELECT u.user_id 
					FROM ( ( " . USERS_TABLE . " u  
					LEFT JOIN " . USER_GROUP_TABLE . " ug ON ug.user_id = u.user_id ) 
					LEFT JOIN " . AUTH_ACCESS_TABLE . " aa ON aa.group_id = ug.group_id ) 
					WHERE u.user_level NOT IN (" . USER . ", " . ADMIN . ")
					GROUP BY u.user_id 
					HAVING SUM(aa.auth_mod) = 0";
				break;
		}
		if ( !($result = $db->sql_query($sql)) )
zeile-532 		{
			message_die(GENERAL_ERROR, "Couldn't obtain user/group permissions", "", __LINE__, __FILE__, $sql);
		}

		$unset_mod = "";
		while( $row = $db->sql_fetchrow($result) )
		{
			$unset_mod .= ( ( $unset_mod != '' ) ? ', ' : '' ) . $row['user_id'];
		}
und hier die komplette:(schon geändert)

>>>admin_ug_auth<<<

Verfasst: 26.02.2006 14:55
von Gulaschk@none
schieb :roll: