Datenbankfehler
Forumsregeln
Bitte im Thementitel den Präfix deiner phpBB-Version angeben
Bitte im Thementitel den Präfix deiner phpBB-Version angeben
Datenbankfehler
Hallo phpBB.de Community,
ich bitte um Hilfe.
Ich hatte in meinem alten phpBB 3.0er Forum mir irgendwann einen Fehler eingebaut, denn ich in der ganzen Zeit nicht mehr losgeworden bin. Durch phpBB 3.1 hatte ich mir erhofft, dass der Fehler verschwindet. Wie in der Anleitung "Konvertierung" von phpBB 3.0 auf 3.1 beschrieben, habe ich alle auf dem Server befindlichen Daten gelöscht und das Datenbankupdate durchgeführt. Zu meiner Erschütterung musste ich feststellen, dass der Fehler danach immer noch vorhanden ist.
Damit muss sich der Fehler in der Datenbank enthalten. Da ich mich mit MySQL leider nicht auskenne wollte ich gerne wissen, ob es möglich ist die Daten aus der alten Datenbank in eine neue, saubere Datenbank zu importieren und wenn es möglich ist, wie hoch ist dann die Chance das ich dabei den Fehler auch mit importiere?
Nun noch ein Fehlerbericht, vielleicht weiß ja jemand wo der Fehler sich befindet.
Aufgetreten ist der Fehler nur, wenn ich an der Forumstruktur, dem ACP, den MCP oder dem UCP Bereich was ändere. Also die Registerkarten verändere oder neue Foren erstellen, alte lösche oder Foren verschieben.
Häufig passiert nichts, bzw. ich bemerke nichts.
Wenn allerdings was passiert, ist es sehr nervig.
Gut erkenne ich das was nicht hinhaut, daran das bei den Forenrechten zum Teil die Foren anderes dargestellt werden als sie in der wirklichen Forumstruktur vorhanden sind.
Wenn sowas passiert, habe ich in der Vergangenheit immer ein Backup geladen und von vorne mit den Änderungen die ich vorhatte begonnen. Das wollte ich allerdings mit dem neuen Forum nicht mehr.
Ich hoffe das mir jemand helfen kann.
Gruß Anteraner
ich bitte um Hilfe.
Ich hatte in meinem alten phpBB 3.0er Forum mir irgendwann einen Fehler eingebaut, denn ich in der ganzen Zeit nicht mehr losgeworden bin. Durch phpBB 3.1 hatte ich mir erhofft, dass der Fehler verschwindet. Wie in der Anleitung "Konvertierung" von phpBB 3.0 auf 3.1 beschrieben, habe ich alle auf dem Server befindlichen Daten gelöscht und das Datenbankupdate durchgeführt. Zu meiner Erschütterung musste ich feststellen, dass der Fehler danach immer noch vorhanden ist.
Damit muss sich der Fehler in der Datenbank enthalten. Da ich mich mit MySQL leider nicht auskenne wollte ich gerne wissen, ob es möglich ist die Daten aus der alten Datenbank in eine neue, saubere Datenbank zu importieren und wenn es möglich ist, wie hoch ist dann die Chance das ich dabei den Fehler auch mit importiere?
Nun noch ein Fehlerbericht, vielleicht weiß ja jemand wo der Fehler sich befindet.
Aufgetreten ist der Fehler nur, wenn ich an der Forumstruktur, dem ACP, den MCP oder dem UCP Bereich was ändere. Also die Registerkarten verändere oder neue Foren erstellen, alte lösche oder Foren verschieben.
Häufig passiert nichts, bzw. ich bemerke nichts.
Wenn allerdings was passiert, ist es sehr nervig.
Gut erkenne ich das was nicht hinhaut, daran das bei den Forenrechten zum Teil die Foren anderes dargestellt werden als sie in der wirklichen Forumstruktur vorhanden sind.
Wenn sowas passiert, habe ich in der Vergangenheit immer ein Backup geladen und von vorne mit den Änderungen die ich vorhatte begonnen. Das wollte ich allerdings mit dem neuen Forum nicht mehr.
Ich hoffe das mir jemand helfen kann.
Gruß Anteraner
Re: Datenbankfehler
Hi,
und der Fehler bzw. die Meldung lautet jetzt genau wie?
Grüße
und der Fehler bzw. die Meldung lautet jetzt genau wie?
Grüße
Re: Datenbankfehler
Danke für die schnelle Antwort, leider habe ich nach dem Fehler gleich mit dem zurücksetzen begonnen.BlackHawk87 hat geschrieben:Hi,
und der Fehler bzw. die Meldung lautet jetzt genau wie?
Grüße
Wenn ich damit fertig bin, richtige ich ein Testforum ein wo ich dann den Fehler erneut auslösen.
Gruß Anteraner
Re: Datenbankfehler
Vorerst habe ich mal 3 Bilder gemacht. Anhand dieser Bilder kann man erkennen, dass die Forumstruktur nicht mit den Forenrechten übereinstimmen.
http://test.oecy.de/Fehler/Fehler01.jpg
http://test.oecy.de/Fehler/Fehler02.jpg
http://test.oecy.de/Fehler/Fehler03.jpg
Auf Bild Fehler01 kann man die Forenrechte sehen. Laut diesen sollte das Forum Lob, ein Unterforum des Forums Kritik sein. In Wirklichkeit sind allerdings beide Foren auf der gleichen Ebene.
Wieso dies so ist weiß ich allerdings nicht.
Die Forumübersicht stimmt mit der Forumstruktur überein. Die User bekommen davon nichts mit.
Zumindestens solange ich dabei kein MySQL Fehler auslösen. Dies passierte mir manchmal wenn ich Foren gelöscht oder verschoben habe. Danach stimmte zum Teil die ganze Forumstruktur nicht mehr.
Gruß Anteraner
Edit um 00:39 Uhr:
So das Testforum wurde von mir eingerichtet, beim verschieben bekam ich dann folgende MySQL Fehlermeldung:
http://test.oecy.de/Fehler/Fehler01.jpg
http://test.oecy.de/Fehler/Fehler02.jpg
http://test.oecy.de/Fehler/Fehler03.jpg
Auf Bild Fehler01 kann man die Forenrechte sehen. Laut diesen sollte das Forum Lob, ein Unterforum des Forums Kritik sein. In Wirklichkeit sind allerdings beide Foren auf der gleichen Ebene.
Wieso dies so ist weiß ich allerdings nicht.
Die Forumübersicht stimmt mit der Forumstruktur überein. Die User bekommen davon nichts mit.
Zumindestens solange ich dabei kein MySQL Fehler auslösen. Dies passierte mir manchmal wenn ich Foren gelöscht oder verschoben habe. Danach stimmte zum Teil die ganze Forumstruktur nicht mehr.
Gruß Anteraner
Edit um 00:39 Uhr:
So das Testforum wurde von mir eingerichtet, beim verschieben bekam ich dann folgende MySQL Fehlermeldung:
Allgemeiner Fehler
SQL ERROR [ mysql4 ]
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 right_id >' at line 4 [1064]
SQL
UPDATE phpbb_valentina_forums SET right_id = right_id - 2, forum_parents = '' WHERE left_id < AND right_id >
BACKTRACE
FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()
FILE: [ROOT]/phpbb/db/driver/driver.php
LINE: 855
CALL: trigger_error()
FILE: [ROOT]/phpbb/db/driver/mysql.php
LINE: 181
CALL: phpbb\db\driver\driver->sql_error()
FILE: [ROOT]/phpbb/db/driver/factory.php
LINE: 329
CALL: phpbb\db\driver\mysql->sql_query()
FILE: [ROOT]/includes/acp/acp_forums.php
LINE: 1424
CALL: phpbb\db\driver\factory->sql_query()
FILE: [ROOT]/includes/acp/acp_forums.php
LINE: 1311
CALL: acp_forums->move_forum()
FILE: [ROOT]/includes/acp/acp_forums.php
LINE: 199
CALL: acp_forums->update_forum_data()
FILE: [ROOT]/includes/functions_module.php
LINE: 674
CALL: acp_forums->main()
FILE: [ROOT]/adm/index.php
LINE: 81
CALL: p_master->load_active()
Re: Datenbankfehler
Hallo,
hast du vielleicht noch das Backup der 3.0.12-Version? Dann könntest du ein 3.0.12-Board einrichten, die Daten aufspielen und dann mit dem STK
https://www.phpbb.com/support/stk/
hast du vielleicht noch das Backup der 3.0.12-Version? Dann könntest du ein 3.0.12-Board einrichten, die Daten aufspielen und dann mit dem STK
https://www.phpbb.com/support/stk/
diese rechten und linken IDs reparieren. Vielleicht würde das die Datenbank bereinigen.Fix Left/Right ID's: Repairs the tree structure of the forums and modules.
Re: Datenbankfehler
Okay, thx für diesen Vorschlag. Habe das Support Toolkit auf den Server geladen und das Tool versucht zu starten. Dabei bekomme ich folgende Meldung:Lehrling hat geschrieben:Hallo,
hast du vielleicht noch das Backup der 3.0.12-Version? Dann könntest du ein 3.0.12-Board einrichten, die Daten aufspielen und dann mit dem STK
https://www.phpbb.com/support/stk/diese rechten und linken IDs reparieren. Vielleicht würde das die Datenbank bereinigen.Fix Left/Right ID's: Repairs the tree structure of the forums and modules.
Wie komm ich jetzt in dieses Tool, bzw. gibt es noch eine andere Möglichkeit das Problem zu lösen.Emergency Repair Kit
Uninitialized string offset: 1
Click here to reload the STK
Edit um 17:41 Uhr: gibt es vielleicht auch eine andere Möglichkeit diesen Left/Right Fix (ID's: Repairs the tree structure of the forums and modules.) zu machen. Weil genau das was hier im Supporttool steht, passt auf meinen Fehler.
Gruß Steve
- HabNurNeFrage
- Ehemaliges Teammitglied
- Beiträge: 1627
- Registriert: 17.01.2010 20:22
- Wohnort: An der Ostsee
- Kontaktdaten:
Re: Datenbankfehler
Hi,
versuchs mal mit diesem Script:
Kopieren, in einen Texteditor einfügen und dann speichern z.B. als forumtree_fixer.php.
Danach auf denm WebSpace in den Forumordner laden und mit dem Browser aufrufen - z.B. http://domain.tld/forum/forumtree_fixer.php
WICHTIG:
Vor dem Ausführen ein Datenbank-BackUp machen, falls etwas schief geht oder es nicht klappt.
Ich habe es nicht ausprobiert, sondern aus Vorschlägen in diesem Thread zusammengebastelt.
Nach dem Ausführen die Datei forumtree_fixer.php wieder vom Server löschen.
LG
versuchs mal mit diesem Script:
Code: Alles auswählen
<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
fix_forum_tree();
function database_connecion_switcher($query_call, $mode) {
global $db;
$result = $db->sql_query($query_call);
switch ($mode) {
case 0:
while ($cur_row = $db->sql_fetchrow($result))
{
$row[$i] = $cur_row;
}
return $row;
break;
case 1:
$num_rows = $result->numRows();
return $rows;
break;
case 2:
$insert_id = $db->sql_nextid();
return $insert_id;
break;
default:
return -1;
break;
}
}
function fix_forum_tree() {
$query_call = "SELECT parent_id, forum_id, forum_type FROM phpbb_forums WHERE forum_type = 0 ORDER by parent_id, forum_name";
$type_results = database_connecion_switcher($query_call, 0);
$first_row = 1;
$current_row = $first_row;
foreach ($type_results as $row_type) {
$query_call = "SELECT parent_id, forum_id, forum_type FROM phpbb_forums WHERE parent_id = " . $row_type['forum_id'] . " ORDER by forum_type, parent_id, forum_name";
$result = database_connecion_switcher($query_call, 0);
if (sizeof($result) != 0) {
foreach ($result as $row) {
$query_call = "UPDATE phpbb_forums SET left_id = " . (++$current_row) . ", right_id = " . (++$current_row) . " WHERE forum_id = " . $row['forum_id'];
database_connecion_switcher($query_call, 2);
}
}
$query_call = "UPDATE phpbb_forums SET left_id = " . $first_row . ", right_id = " . (++$current_row) . " WHERE forum_id = " . $row_type['forum_id'];
database_connecion_switcher($query_call, 2);
$first_row = ++$current_row;
}
}
?>
Danach auf denm WebSpace in den Forumordner laden und mit dem Browser aufrufen - z.B. http://domain.tld/forum/forumtree_fixer.php
WICHTIG:
Vor dem Ausführen ein Datenbank-BackUp machen, falls etwas schief geht oder es nicht klappt.
Ich habe es nicht ausprobiert, sondern aus Vorschlägen in diesem Thread zusammengebastelt.
Nach dem Ausführen die Datei forumtree_fixer.php wieder vom Server löschen.
LG
| HomeStory.org - the friendly Community | Forum für alle Lebenslagen | <"}))}~ | Nicht nachmachen: Meine phpBB Spielereien |
var shoppen = geld.replace (/geld/g, 'bloedsinn'); if (geld < 1) { return home; };
var shoppen = geld.replace (/geld/g, 'bloedsinn'); if (geld < 1) { return home; };
Re: Datenbankfehler
Danke HabNurNeFrage,
leider hat es nicht geklappt.
phpBB 3.0 hat bei mir folgende Meldung ausgegeben als ich die *.php Datei ausgeführt habe.
leider hat es nicht geklappt.
phpBB 3.0 hat bei mir folgende Meldung ausgegeben als ich die *.php Datei ausgeführt habe.
Und phpBB 3.1 diese:Warning: Cannot modify header information - headers already sent by (output started at /.../htdocs/Foren/Valentina/forumtree_fixer.php:1) in /.../htdocs/Foren/Valentina/includes/functions.php on line 3589General Error
SQL ERROR [ mysql4 ]
Table 'db427488640.forums' doesn't exist [1146]
An sql error occurred while fetching this page. Please contact an administrator if this problem persists.
Hier ein paar Infos die vielleicht hilfreich sein könnten:Warning: Cannot modify header information - headers already sent by (output started at /.../htdocs/Foren/Valentina-Test/forumtree_fixer.php:1) in /.../htdocs/Foren/Valentina-Test/includes/functions.php on line 2493General Error
SQL ERROR [ mysql4 ]
Table 'db427488640.forums' doesn't exist [1146]
An sql error occurred while fetching this page. Please contact an administrator if this problem persists.
$table_prefix = 'phpbb_valentina_';
phpbb_valentina_forums
- HabNurNeFrage
- Ehemaliges Teammitglied
- Beiträge: 1627
- Registriert: 17.01.2010 20:22
- Wohnort: An der Ostsee
- Kontaktdaten:
Re: Datenbankfehler
Hi,
habe im oberen Beitrag den Code um den üblichen Präfix verbessert und hier nun der, der für dich passen müsste:
LG
habe im oberen Beitrag den Code um den üblichen Präfix verbessert und hier nun der, der für dich passen müsste:
Code: Alles auswählen
<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
fix_forum_tree();
function database_connecion_switcher($query_call, $mode) {
global $db;
$result = $db->sql_query($query_call);
switch ($mode) {
case 0:
while ($cur_row = $db->sql_fetchrow($result))
{
$row[$i] = $cur_row;
}
return $row;
break;
case 1:
$num_rows = $result->numRows();
return $rows;
break;
case 2:
$insert_id = $db->sql_nextid();
return $insert_id;
break;
default:
return -1;
break;
}
}
function fix_forum_tree() {
$query_call = "SELECT parent_id, forum_id, forum_type FROM phpbb_valentina_forums WHERE forum_type = 0 ORDER by parent_id, forum_name";
$type_results = database_connecion_switcher($query_call, 0);
$first_row = 1;
$current_row = $first_row;
foreach ($type_results as $row_type) {
$query_call = "SELECT parent_id, forum_id, forum_type FROM phpbb_valentina_forums WHERE parent_id = " . $row_type['forum_id'] . " ORDER by forum_type, parent_id, forum_name";
$result = database_connecion_switcher($query_call, 0);
if (sizeof($result) != 0) {
foreach ($result as $row) {
$query_call = "UPDATE phpbb_valentina_forums SET left_id = " . (++$current_row) . ", right_id = " . (++$current_row) . " WHERE forum_id = " . $row['forum_id'];
database_connecion_switcher($query_call, 2);
}
}
$query_call = "UPDATE phpbb_valentina_forums SET left_id = " . $first_row . ", right_id = " . (++$current_row) . " WHERE forum_id = " . $row_type['forum_id'];
database_connecion_switcher($query_call, 2);
$first_row = ++$current_row;
}
}
?>
| HomeStory.org - the friendly Community | Forum für alle Lebenslagen | <"}))}~ | Nicht nachmachen: Meine phpBB Spielereien |
var shoppen = geld.replace (/geld/g, 'bloedsinn'); if (geld < 1) { return home; };
var shoppen = geld.replace (/geld/g, 'bloedsinn'); if (geld < 1) { return home; };
Re: Datenbankfehler
danke für die spezielle Version, direkt auf mein Präfix abgestimmt.
Leider kein Erfolg.
phpBB 3.0:
Leider ist bei beiden Versionen noch die fehlerhafte Struktur vorhanden.
Ist es möglich das STK auch für phpBB 3.1 kommt?
Und wenn, würde ich damit den Fehler beheben können?
Gruß Anteraner
Leider kein Erfolg.
phpBB 3.0:
phpBB 3.1:[phpBB Debug] PHP Notice: in file /forumtree_fixer.php on line 20: Illegal offset type
In beiden Versionen habe ich die Forumstruktur geprüft (phpBB 3.0) bzw. getestet (phpBB 3.1, gleiche Datenbankfehlermeldung wie oben).[phpBB Debug] PHP Warning: in file [ROOT]/forumtree_fixer.php on line 20: Illegal offset type
Leider ist bei beiden Versionen noch die fehlerhafte Struktur vorhanden.
Ist es möglich das STK auch für phpBB 3.1 kommt?
Und wenn, würde ich damit den Fehler beheben können?
Gruß Anteraner