Seite 1 von 1

SQL-Fehler Football-MOD

Verfasst: 22.02.2014 11:34
von fontane
Hallo,

ich habe den Mod Football MOD im Einsatz und bisher keine Probleme.

Heute wird mir die gemeldet, dass die Gesamtrangliste auf NULL steht.

Gebe ich über das ACP z.B. Tipps etc ein, wird mir folgender SQL-Fehler gemeldet:

Code: Alles auswählen

SQL ERROR [ mysqli ]

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

SQL

UPDATE phpbb_footb_rank_matchdays SET rank_total = 1, points_total = 4072, win_total = 1047.50 WHERE season = 2014 AND league = 2 AND matchday = 22 AND user_id = 207

BACKTRACE

FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()

FILE: [ROOT]/includes/db/dbal.php
LINE: 757
CALL: trigger_error()

FILE: [ROOT]/includes/db/mysqli.php
LINE: 189
CALL: dbal->sql_error()

FILE: [ROOT]/football/includes/functions.php
LINE: 394
CALL: dbal_mysqli->sql_query()

FILE: [ROOT]/football/includes/functions.php
LINE: 433
CALL: save_ranking_matchday()

FILE: [ROOT]/football/includes/functions.php
LINE: 433
CALL: save_ranking_matchday()

FILE: [ROOT]/football/includes/functions.php
LINE: 433
CALL: save_ranking_matchday()

FILE: [ROOT]/football/includes/functions.php
LINE: 433
CALL: save_ranking_matchday()

FILE: [ROOT]/football/includes/functions.php
LINE: 433
CALL: save_ranking_matchday()

FILE: [ROOT]/football/includes/functions.php
LINE: 433
CALL: save_ranking_matchday()

FILE: [ROOT]/football/includes/functions.php
LINE: 433
CALL: save_ranking_matchday()

FILE: [ROOT]/football/includes/functions.php
LINE: 433
CALL: save_ranking_matchday()

FILE: [ROOT]/football/includes/functions.php
LINE: 433
CALL: save_ranking_matchday()

FILE: [ROOT]/football/includes/functions.php
LINE: 433
CALL: save_ranking_matchday()
Scheint irgendwie ein Problem mit dem User welcher die "User_ID = 207" hat, zusammen zu hängen (Diese ID wird bei allen Fehlermeldungen gemeldet)

Anmerkung:
Auf dem Testforum funktioniert es Fehlerfrei. Es sind dieselben Dateien (wie im Code gemeldet) im LIve- wie im Testforum vorhanden (soeben kontrolliert).

Auch ein heutiges Rückspielen der Tabellen (Stand 13.02.14 - wo noch alles funktionierte) "phpbb_football*" brachte keinen Erfolg.

Hat jemand eine Idee was man wo und wie tun muss um das Problem zu beheben?

Vorab besten Dank für eine Hilfestellung

Re: SQL-Fehler Football-MOD

Verfasst: 22.02.2014 13:35
von BNa
Die Tabellenspalte win_total braucht eine höhere Werteinstellung (ist z.Zt. möglicherweise TINYINT) im MySQL.
Dazu mal testweise die Spalte im MySQL auf INT setzen und die Größe (Size) auf zB. 12 einstellen.
Falls schon auf INT, dann einfach die Größe (Size) entsprechend erhöhen.

Re: SQL-Fehler Football-MOD

Verfasst: 22.02.2014 14:06
von fontane
Hallo BNa, danke für die Unterstützung.

In der Tabelle win_total steht der Wert auf decimal mit size = 5,2. Die Tabelle ist genau identisch mit der funktionierenden Tabelle im Testforum.

Versuche ich die Tabelle win_total auf TINYINT oder INT umzustellen, erhalte ich folgende Fehlermeldung:

Code: Alles auswählen

MySQL meldet:
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 '2) NOT NULL DEFAULT '.0'' at line 1

Fehler bei der Anfrage:
ALTER TABLE `db11201989-gameplay`.`phpbb_footb_rank_matchdays` CHANGE COLUMN `win_total` `win_total` TINYINT(5,2) NOT NULL DEFAULT '.0' ;
Die Erhöhung von size auf 8,2 brachte keinen Erfolg :cry:

Anmerkung: Live- und Testforum sind beim selben Hoster = die SQL-Versionen sind identisch.

Re: SQL-Fehler Football-MOD

Verfasst: 22.02.2014 15:59
von BNa
fontane hat geschrieben:Die Erhöhung von size auf 8,2 brachte keinen Erfolg.
Und was ist mir 6,2 und 7,2?

Re: SQL-Fehler Football-MOD

Verfasst: 22.02.2014 16:06
von BNa
fontane hat geschrieben:Versuche ich die Tabelle win_total auf TINYINT oder INT umzustellen, erhalte ich folgende Fehlermeldung
Hier dann natürlich eine andere Syntax eingeben, also nicht TINYINT, ich sagte ja, falls TINYINT vorliegt TINY benutzen.
Von TINYINT benutzen sagt ich nichts und dann natürlich ganze Werte eingeben > TINY > 12 und nicht 5,2

Re: SQL-Fehler Football-MOD

Verfasst: 22.02.2014 16:29
von Miriam

Code: Alles auswählen

ALTER TABLE `phpbb_footb_rank_matchdays` CHANGE `win_total` `win_total` DECIMAL( 8, 2 ) NOT NULL DEFAULT '0.00';
in der MYSQL DB ausführen.
Lies auch:
  • KB:mysqlbackup,
    KB:pma_faq,
    KB:phpmyadmin.

Oder wart'... lies einfach hier -> viewtopic.php?p=1302168#p1302168


P.S.: Was habt ihr denn immer mit Ganzzahlen? 0.o

Re: SQL-Fehler Football-MOD

Verfasst: 22.02.2014 16:53
von BNa
Ahja, muss also dezimal sein. In dem Falle wäre ein string eintrag mit einem explode mit dem punkt als trenner warscheinlich praktischer gewesen. so würde dieser fehler erst garnicht auftreten.

Re: SQL-Fehler Football-MOD

Verfasst: 22.02.2014 17:12
von fontane
ich habe 6.2 eingetragen und es funktioniert wieder perfekt. Zunächst einmal ganz herzlichen Dank!

Ich verstehe nicht was den Fehler verursachte und warum es durch die Änderung funktioniert. Vielleicht kann es mir jemand erklären.

Frage:
1. soll/muss ich den SQL-Befehl von Miriam ausführen und den Wert wieder auf 5.2 stellen?
2. soll/muss ich den SQL-Befehl von Miriam ausführen und den Wert auf 6.2 belassen?
3. soll/muss ich den SQL-Befehl von Miriam nicht ausführen und den Wert auf 6.2 belassen?

Da ich nicht weis was da richtig ist, frage ich lieber vorher.

Re: SQL-Fehler Football-MOD

Verfasst: 22.02.2014 17:32
von BNa
wenn es jetzt funktioniert, lass es (erst einmal) so.
ansonsten folge miriam's weg :wink:

Re: SQL-Fehler Football-MOD

Verfasst: 22.02.2014 17:46
von Miriam
Das sollte der MOD Autor mal fixen...