Seite 1 von 1

Fehler beim Foren erstellen

Verfasst: 21.03.2007 22:58
von Thomasbrost
Wenn ich bei mir im Forum ein Forum erstllen will kommt immer diese
Fehlermeldung. Was kann das sein?
Couldn't insert row in forums table

DEBUG MODE

SQL Error : 1062 Duplicate entry '0' for key 1

INSERT INTO phpbb_forums (forum_parent, forum_id, forum_name, cat_id, forum_desc, forum_order, forum_status, prune_enable, auth_view, auth_read, auth_post, auth_reply, auth_edit, auth_delete, auth_sticky, auth_announce, auth_vote, auth_pollcreate) VALUES ('65', 'DMSB - Staffel', 12, 0, 'Nur für Mitglider der DMSB - Staffel', 30, 0, 0, 0, 0, 1, 1, 1, 1, 3, 3, 1, 1)

Line : 484
File : admin_forums.php
Hier ist die Admin Datei

www.sportwarte-nuerburgring.de/admin_forums.php


Danke für eure Hilfe

Verfasst: 21.03.2007 23:37
von BraveEagle
Hast du irgend ein Mod eingebaut? Seit wann kommt der Fehler?

Verfasst: 22.03.2007 01:24
von gn#36
Das sieht fast so aus, als wäre der Auto_increment Eintrag in deiner Datenbank in dieser Tabelle nicht aktiviert, zusätzlich passen aber auch die Einträge die in die Datenbank geschrieben sollen nicht zu den zugeordneten Feldern, so dass ein Skripteinbaufehler wahrscheinlicher ist. Das sieht mir nach etwas wie dem Categories Hirachy Mod aus? Ich würde mir die Anleitung zur Änderung der admin_forums.php noch mal genauer ansehen, vielleicht ist da was schiefgegangen.

Verfasst: 22.03.2007 22:07
von Thomasbrost
Hallo

Ich habe keinen Mod eingebaut der fehler ist von Heute auf morgen aufgetreten

Verfasst: 23.03.2007 01:02
von gn#36
Du hast mit 99,9%iger Sicherheit beim Modeinbau einen Fehler gemacht.

Code: Alles auswählen

$sql = "INSERT INTO " . FORUMS_TABLE . " (forum_parent, forum_id, forum_name, cat_id, forum_desc, forum_order, forum_status, prune_enable" . $field_sql . ")
				VALUES ('" . $next_id . "', '" . str_replace("\'", "''", $HTTP_POST_VARS['forumname']) . "', " . $new_cat . ', ' . $new_parent . ", '" . str_replace("\'", "''", $HTTP_POST_VARS['forumdesc']) . "', $next_order, " . intval($HTTP_POST_VARS['forumstatus']) . ", " . intval($HTTP_POST_VARS['prune_enable']) . $value_sql . ")";
			if( !$result = $db->sql_query($sql) )
			{
				message_die(GENERAL_ERROR, "Couldn't insert row in forums table", "", __LINE__, __FILE__, $sql);
			}
Das erste Feld passt nicht zu dem Eintrag der geschrieben wird, dadurch wird alles verrutscht und der String als Integerwert 0 interpretiert, das existiert aber schon somit gibt's einen Fehler. Du hast die Reihenfolge durcheinandergebracht. Das hier

Code: Alles auswählen

$new_parent
gehört eigentlich als erster Parameter in die Reihe, somit würde ich mal ganz stark tippen dass es funktioniert wenn du statt der oben geposteten Stelle einfach das hier verwendest:

Code: Alles auswählen

$sql = "INSERT INTO " . FORUMS_TABLE . " (forum_parent, forum_id, forum_name, cat_id, forum_desc, forum_order, forum_status, prune_enable" . $field_sql . ")
				VALUES (" . $new_parent .", ' " . $next_id . "', '" . str_replace("\'", "''", $HTTP_POST_VARS['forumname']) . "', " . $new_cat .  ", '" . str_replace("\'", "''", $HTTP_POST_VARS['forumdesc']) . "', $next_order, " . intval($HTTP_POST_VARS['forumstatus']) . ", " . intval($HTTP_POST_VARS['prune_enable']) . $value_sql . ")";
			if( !$result = $db->sql_query($sql) )
			{
				message_die(GENERAL_ERROR, "Couldn't insert row in forums table", "", __LINE__, __FILE__, $sql);
			}
Mache bitte aber auf jeden Fall vorher ein Backup der Datei.

Verfasst: 23.03.2007 13:52
von Thomasbrost
Danke gehet wieder