Seite 1 von 1

MySQL Fehler Beiträge mit Attachment editieren

Verfasst: 08.09.2011 19:35
von DerTheo
Ich habe bei einem Thema einen sehr strangen Fehler, den ich nicht reproduzieren kann.

Ein User hat ein Foto als Attachment hochgeladen, dieses anscheinend gelöscht. Jetzt lässt sich der Thread nicht mehr editieren.
Sobald ich jetzt das Foto wieder als Attachment anhänge, es im Thread anzeigen lasse
blablabla.jpg
kann ich den Thread editieren und spreichern.

Ist das Attachment nich angehängt oder lösche ich
blablabla.jpg
obwohl das attachment noch angehängt ist, kommt beim speichern des Beitrags der Fehler:
SQL ERROR [ mysqli ]

Out of range value adjusted for column 'bbcode_count' at row 1 [1264]

SQL

UPDATE phpbb_stats_bbcodes SET bbcode_count = (bbcode_count - 1) WHERE bbcode = '[/attachment:'

BACKTRACE

FILE: includes/db/mysqli.php
LINE: 163
CALL: dbal->sql_error()

FILE: statistics/includes/functions.php
LINE: 1839
CALL: dbal_mysqli->sql_query()

FILE: posting.php
LINE: 1143
CALL: save_bbcode_smiley_count()
Ich kenne mich null aus mit MySQL, habe aber in der DB stats_bbcodes gefunden, dort gibt es die Struktur namens bbcode_count
Muss ich hier etwas ändern?

Ich habe es mit einem neuen Thread getestet, einen Anhang hinzugefügt und gelöscht, den Fehler konnte ich nicht reproduzieren.

Re: MySQL Fehler Beiträge mit Attachment editieren

Verfasst: 28.09.2011 18:01
von DerTheo
Habe dem Kompletten Thraed gelöscht, da ich das Problem nicht nehebn konnte.

Grüße
Der Theo

Re: MySQL Fehler Beiträge mit Attachment editieren

Verfasst: 16.12.2011 16:37
von sepp71
Dieses Problem habe ich nun auch, und zwar mit BBCodes allgemein und ich kann ihn reproduzieren - nur nicht beseitigen :(

Ich verwende selbsterstellte BBCodes (Links zu Amazon) und habe irgendwann einmal von Fassung a [amazon] auf [amazonlink] umgestellt.
Beide BBCodes werden noch unterstützt, der eine ist einfach "deprecated".
Ich habe schon einige Beiträge von Hand über den Beitragseditor auf das neue Schema abgeändert, nun tritt dieser Fehler auf.
Das Hinzufügen eines neuen BBCodes in einen bestehenden Beitrag ist unproblematisch möglich, solange der alte Code erhalten bleibt. Wenn ich den alten BBCode aus dem Beitrag entferne, erscheint die Fehlermeldung. Dasselbe gilt, wenn ich den alten BBCode einfach nur in den neuen "umformuliere" (so dass sich bbcode_count vielleicht gar nicht ändern müßte).

Ich wäre auch bereit, die Anpassung einfach in der MySQL-Datenbank zu machen - frage mich nur, was die dort in der Tabelle posts zugewiesenen kryptischen Zeichen bedeuten sollen:

Code: Alles auswählen

[amazon:3olb5a7j]123456789[/amazon:3olb5a7j] 
1.) Kann ich einfach aus "amazon" "amazonlink" machen - oder ist in der Zeichenfolge "3olb5a7j" noch irgendetwas wichtiges verborgen?
2.) Hat der o.a. DB-Fehler sonstige Risiken und Nebenwirkungen, die eine Behebung gebieten? Hat jemand evtl. doch noch eine Lösung?

Gruß
Sepp

P.S.: Die Fehlermeldung:
Allgemeiner Fehler
SQL ERROR [ mysql4 ]

Out of range value adjusted for column 'bbcode_count' at row 1 [1264]

SQL

UPDATE dr_stats_bbcodes SET bbcode_count = (bbcode_count - 2) WHERE bbcode = '[/amazon:'

BACKTRACE

FILE: includes/db/mysql.php
LINE: 175
CALL: dbal->sql_error()

FILE: statistics/includes/functions.php
LINE: 1839
CALL: dbal_mysql->sql_query()

FILE: posting.php
LINE: 1155
CALL: save_bbcode_smiley_count()

Re: MySQL Fehler Beiträge mit Attachment editieren

Verfasst: 16.12.2011 17:19
von BNa
Lösung ist im Post danach
http://www.phpbb.com/community/viewtopi ... 5#p7551325
adjusting the bbcode_id column to be a mediumint(4)
Das bitte via MySql oder MySqlDumper.

In eurem Falle dann bbcode_count statt bbcode_id

Habte ihr allerdings den phpBB Statistics Mod installiert, dann hier weiterlesen
http://www.phpbb.com/customise/db/mod/p ... es-t_84479

Re: MySQL Fehler Beiträge mit Attachment editieren

Verfasst: 16.12.2011 17:37
von sepp71
BNa hat geschrieben:Lösung ist im Post danach
http://www.phpbb.com/community/viewtopi ... 5#p7551325
adjusting the bbcode_id column to be a mediumint(4)
Das bitte via MySql oder MySqlDumper.

In eurem Falle dann bbcode_count statt bbcode_id

Habte ihr allerdings den phpBB Statistics Mod installiert, dann hier weiterlesen
http://www.phpbb.com/customise/db/mod/p ... es-t_84479
Super vielen Dank für den Ansatz - auch wenn ich nicht verstehe, in welchem "Post danach" Du meinst.
Den Lösungsansatz (letztlich ja wohl http://www.phpbb.com/bugs/phpbb3/34905) habe ich aber noch nicht ganz nachvollzogen - könntest Du mir noch auf die Sprünge helfen?
Danke!

Sepp

Edit: Habe Deinen Edit jetzt erst gesehen, vielen Dank scon einmal, das wird ja dann eine größere Aktion bei mir... Ich melde mich wieder!

Re: MySQL Fehler Beiträge mit Attachment editieren

Verfasst: 16.12.2011 22:40
von sepp71
So ganz hab ich das wohl nicht verstanden, aber mit den Tips bin ich der Sache näher gekommen: In der Tabelle phpbb_stats_bbcodes steht für jeden BBCode ein Zähler (Typ war und ist mediumint 8). Es gibt schon Codes, die viel häufiger vorkommen als meine selbstgebastelten, dementsprechend viel höhere Werte stehen in der Tabelle. Aus irgendwelchen Gründen stand der Wert für den einen selbstgebastelten Code nur noch auf "1". Das ist zu wenig, um zwei abzuziehen, ohne in negative Zahlen zu geraten :)
Ich habe den Wert jetzt manuell auf die Anzahl der Vorkommen des BBCodes in meiner DB (Tabelle ...posts) heraufgesetzt und für den Moment scheint es zu funktionieren.

Den Fix von https://github.com/marc1706/phpBB-Stati ... e3078902af habe ich in meine statistics/functions.php eingebaut, weil ich vermute, dass deshalb bei vorangegangenen Änderungen zuviele Zähler abgezogen worden waren.

Vielen Dank für die Tipps, die mich in die Lage versetzt haben, das hinzubekommen!

Sepp

Edit 20 Minuten später: Ich mußte den Wert im weiteren noch einmal "nachbessern", da er schon wieder auf 0 war. Jetzt habe ich aber alle "alten" Vorkommen entfernt und durch den neuen BBCode ersetzt. stats_bbcodes auf 0 angepasst und den alten BBCode aus dem ACP gelöscht.
-> Ziel erreicht. Dank Dir!