Seite 1 von 2

mysql_fetch_array

Verfasst: 26.01.2006 16:43
von hopelesscase
Hallo, ich habe den, wer war online mod eingebaut und seitdem bekomme ich diese fehler,

Warning: mysql_fetch_array(): 21 is not a valid MySQL result resource in /srv/www/htdocs/web55/html/db/mysql4.php on line 214

Warning: Cannot modify header information - headers already sent by (output started at /srv/www/htdocs/web55/html/db/mysql4.php:214) in /srv/www/htdocs/web55/html/includes/page_header.php on line 501

Warning: Cannot modify header information - headers already sent by (output started at /srv/www/htdocs/web55/html/db/mysql4.php:214) in /srv/www/htdocs/web55/html/includes/page_header.php on line 507

Warning: Cannot modify header information - headers already sent by (output started at /srv/www/htdocs/web55/html/db/mysql4.php:214) in /srv/www/htdocs/web55/html/includes/page_header.php on line 508


kann mir bitte jemand helfen? ich kann im forum nicht wirklich was finden...

liebe grüße, marco

Verfasst: 26.01.2006 18:06
von Miroerr

Verfasst: 26.01.2006 18:11
von hopelesscase
danke für die antwort. das hatte ichs chon gelesen, aber damit kann ich nicht wirklich etwas anfangen...

Verfasst: 26.01.2006 18:18
von S2B
Verlinke mal bitte deine page_header.php (KB:datei).

Verfasst: 26.01.2006 18:24
von hopelesscase

Verfasst: 26.01.2006 18:29
von S2B
Hmm, ok, die Datei war es schon mal nicht... :D

An welchen Dateien hat denn der MOD Änderungen gemacht?

Verfasst: 26.01.2006 18:33
von hopelesscase
Ich habe mal die install auf den Server geladen, http://www.beschwerden.biz/wer_war_da_MOD.txt

Verfasst: 26.01.2006 18:57
von S2B
Ich würde zuerst mal alle Fehlermeldungen ausgeben lassen:
Finde in index.php:

Code: Alles auswählen

$sql = 'Select user_id, username, user_session_time, user_level FROM '.USERS_TABLE." 
        WHERE user_allow_viewonline = '1' AND user_session_time > $mitternacht 
		ORDER BY user_session_time DESC";

$result = $db->sql_query($sql);
Füge danach ein:

Code: Alles auswählen

	if ( !$result )
	{
      message_die(GENERAL_ERROR, 'Could not read users from USER_TABLE', '', __LINE__, __FILE__, $sql);
	}
Dann wird dir zumindest eine Fehlermeldung ausgegeben, wenn mit dem Query etwas nicht ok sein sollte.

Dann würde ich noch das machen, denn so stimmt der Quellcode auf keinen Fall bzw. das freeresult erfüllt nicht seinen eigentlichen Zweck:
Finde:

Code: Alles auswählen

$db->sql_freeresult($result);
/*----------WER WAR HEUTE DA HACK----------*/
Ersetze mit:

Code: Alles auswählen

/*----------WER WAR HEUTE DA HACK----------*/
Dafür fügst du jeweils ein $db->sql_freeresult($result); nach den folgenden Stellen ein: Den eigentlichen Fehler konnte ich zwar bis jetzt noch nicht entdecken, allerdings sollten dir die Änderungen sowohl ein bisschen mehr Performance sichern (bei vielen Usern) als auch bei der Fehlersuche helfen.

Verfasst: 26.01.2006 19:04
von hopelesscase
ok, danke :) ich werde das mal eben machen und dann mitteilen was sich verbessert hat, oder was nicht :)

Verfasst: 26.01.2006 19:09
von hopelesscase
es hat sich nichts verändert :(