DMAGmbH / dma_elementgenerator

DMA Elementgenerator (Contao)
45 stars 17 forks source link

Incorrect integer value bei Anlegen eines neuen Felds #55

Open addorange opened 10 years ago

addorange commented 10 years ago

Hallo,

wenn ich in einer Contao 3.2.3 im DMA ein neues Feld anlegen will, komme ich nicht weiter und erhalte folgende Fehlermeldung:

Fatal error: Uncaught exception Exception with message Query error: Incorrect integer value: '' for column 'eval_maxlength' at row 1 (INSERT INTO tl_dma_eg_fields (type, eval_rows, eval_cols, eval_minlength, eval_maxlength, eval_field_type, eval_path, template, subpaletteSelector, optionsType, optDbTable, optDbTitle, pid, sorting, tstamp) VALUES ('text', 5, 100, 0, '', 'ft_radio', '', 'dma_egfield_default', '', 'manual', '', '', 1, 128, 0)) thrown in system/modules/core/library/Contao/Database/Statement.php on line 282

#0 system/modules/core/library/Contao/Database/Statement.php(253): Contao\Database\Statement->query()
#1 system/modules/core/drivers/DC_Table.php(696): Contao\Database\Statement->execute()
#2 system/modules/core/classes/Backend.php(429): Contao\DC_Table->create()
#3 contao/main.php(136): Contao\Backend->getBackendModule('dma_eg')
#4 contao/main.php(287): Main->run()
#5 {main}

Habe die aktuelle Version Deines Moduls von Github im Einsatz.

Viele Grüße

JanoschSkuplik commented 10 years ago

Hm, den Fehler kann ich leider aktuell noch nicht reproduzieren. Auch wenn ich die Query direkt in der Datenbank ausführe, schmeißt mir diese keinen Fehler. Welche Datenbank(-Version) verwendest du denn?

srhinow commented 6 years ago

ich bekomme auch den Datenbank-Fehler wenn ich ein neues Feld anlegen möchte. Installiert ist die developer-Version in Contao 4.4.19 mit der Datenbank mysql Ver 14.14 Distrib 5.7.22, for Linux (x86_64)

Dann bekomme ich auch einen "internal server Error" An exception occurred while executing 'INSERT INTO tl_dma_eg_fields (type,eval_rows,eval_cols,eval_minlength,eval_maxlength,eval_field_type,eval_path,template,subpaletteSelector,optionsType,optDbTable,optDbTitle,pid,sorting,tstamp) VALUES ('text', 5, 100, 0, '', 'ft_radio', '', 'dma_egfield_default', '', 'manual', '', '', 2, 128, 0)': SQLSTATE[HY000]: General error: 1366 Incorrect integer value: '' for column 'eval_maxlength' at row 1

srhinow commented 6 years ago

Die Lösung ist: in der dca/tl_dma_eg_fields.php Die default-Werte der Felder: subpaletteSelector und eval_maxlength von '' auf 0 umzustellen. Da der SQL-Type ja nen integer ist und dort nen string als Defaultwert steht, kommt es zum Fehler.

Das ist bestimmt auch in anderen Branches und nicht nur hier im Dev der Fall.

hella-schu commented 5 years ago

Danke für die Lösung Sven, ich stand auch gerade vor diesem Problem!

srhinow commented 5 years ago

hab übrigens auch in den Issues mit dem Problem "genervt" äähh aufmerksam gemacht #111 #112

Wenn Janosch die beiden Felder korrigiert dann hat er gleich mind. 2 Issues gefixt ;)