Hab heute mal wieder eine Contenido-Version zum Experimentieren auf meinem lokalen WebServer installiert. Die Installation hat soweit auch wieder gut geklappt, nur kann ich im Backend kein neues Layout und kein neues Modul erstellen. Das bearbeiten vorhandener Layouts und Module klappt einwandfrei.
Beim erstellen eines neuen Moduls wird im Hauptfenster (frame 4) nix angezeigt und der ErrorLog gibt folgenden SQL-Error aus?!
[29-Jan-2008 21:02:22] /contenido/main.php?area=mod_edit&frame=4&action=mod_new&contenido=e3e48573e6d2a97195272320e5d792c2 MySQL error 1364: Field 'name' doesn't have a default value
INSERT INTO con_mod (idmod) VALUES (52)
[29-Jan-2008 21:02:23] /contenido/main.php?area=mod_edit&frame=4&action=mod_new&contenido=e3e48573e6d2a97195272320e5d792c2 MySQL error 1364: Field 'type' doesn't have a default value
INSERT INTO con_inuse (idinuse) VALUES (10)
Beim erstellen eines neuen Layouts wird im Hauptfenster (frame 4) "foo" angezeigt und der ErrorLog gibt folgenden SQL-Error aus?!
[29-Jan-2008 21:03:35] /contenido/main.php?area=lay_edit&frame=4&action=lay_new&contenido=e3e48573e6d2a97195272320e5d792c2 MySQL error 1364: Field 'name' doesn't have a default value
INSERT INTO con_lay (idlay) VALUES (9)
Meine lokale WebServer-Installation:
Server Betriebssystem: Apache/2.0.59 (Win32)
Datenbankserver-Version: mysql 5.0.26-community-nt
Installierte PHP-Version: 5.1.6
Contenido Version: 4.6.23
Hab im Forum schon nach einem derartigen Problem gesucht, aber nix gefunden.
Eile ist nicht unbedingt geboten, würde mich aber trotzdem interessieren warum Contenido lokal bei mir nicht laufen will?
Besten Dank und viele Grüße,
Schwarzesocke
Kann kein neues Layout und Modul erstellen
-
- Beiträge: 39
- Registriert: Fr 17. Dez 2004, 14:53
- Wohnort: NRW
- Kontaktdaten:
Kann kein neues Layout und Modul erstellen
Zuletzt geändert von Schwarzesocke am Di 7. Apr 2009, 13:53, insgesamt 1-mal geändert.
Ist ein Bug in Contenido:
class.genericdb.php Zeile 1176:
Verursacht SQL-Fehler im strict SQL Mode, weil nicht alle Tabellenspalten Default Values haben. s. http://dev.mysql.com/doc/refman/5.0/en/ ... aults.html
Die Genericdb deswegen umzubauen halte ich für übertrieben, vielmehr sollten für alle Tabellen Default Values gesetzt werden.
@Schwarzesocke:
Entweder den SQL-Modus ändern: http://dev.mysql.com/doc/refman/5.0/en/ ... -mode.html oder DEFAULT werte für die Tabellen setzten z.B.:
class.genericdb.php Zeile 1176:
Code: Alles auswählen
/**
* create()
* Creates a new item in the table and loads it afterwards.
*/
function create()
{
/* Local new db instance since we don't want to kill our
probably existing result set */
$db = new DB_Contenido;
$nextid = $db->nextid($this->table);
$sql = "INSERT INTO ".$this->table." (";
$sql .= $this->primaryKey.") VALUES (".$nextid.")";
$db->query($sql);
return $this->loaditem($nextid);
}
Die Genericdb deswegen umzubauen halte ich für übertrieben, vielmehr sollten für alle Tabellen Default Values gesetzt werden.
@Schwarzesocke:
Entweder den SQL-Modus ändern: http://dev.mysql.com/doc/refman/5.0/en/ ... -mode.html oder DEFAULT werte für die Tabellen setzten z.B.:
Code: Alles auswählen
ALTER TABLE `con_mod`
CHANGE `name` `name` VARCHAR(255) NOT NULL DEFAULT ' ',
CHANGE `type` `type` VARCHAR(32) NOT NULL DEFAULT ' ',
CHANGE `author` `author` VARCHAR(32) NOT NULL DEFAULT ' '
Bis dann
Tono
Tono
-
- Beiträge: 39
- Registriert: Fr 17. Dez 2004, 14:53
- Wohnort: NRW
- Kontaktdaten:
Die "Defaluts" für die drei Spalten setzten hat bei mir nicht gereicht, betrifft meiner Fehlermeldung nach, ja auch die Spalten "name" und "author" der Tabelle "con_lay".
Der Query zum setzten der Default-Werte sähe also wie folgt aus:
Den SQL-Modus hab ich auch entsprechend verändert, also strict mode aus. Oder ist datt nicht ratsam, den mySql-Server nicht im 'strict mode' laufen zu lassen?
Danke für's Wissen und die Hilfe, tono
Der Query zum setzten der Default-Werte sähe also wie folgt aus:
Code: Alles auswählen
ALTER TABLE `con_mod`
CHANGE `name` `name` VARCHAR(255) NOT NULL DEFAULT ' ',
CHANGE `type` `type` VARCHAR(32) NOT NULL DEFAULT ' ',
CHANGE `author` `author` VARCHAR(32) NOT NULL DEFAULT ' '
ALTER TABLE `con_lay`
CHANGE `name` `name` VARCHAR(255) NOT NULL DEFAULT ' ',
CHANGE `author` `author` VARCHAR(32) NOT NULL DEFAULT ' '
Danke für's Wissen und die Hilfe, tono

Ja, das war auch nur als Beispiel gedacht, das müsste warscheinlich in noch viel mehr Tabellen gemacht werden, nur bei den beiden ist es Dir halt gerade aufgefallen.
Wenn der strict-Mode jetzt aus ist sollten keine solchen Fehler mehr auftreten. Mit diesen SQL-Modi kenn ich mich eigentlich garnicht aus, aber der Beschreibung nach sind keine Probleme zu vermuten.
Wenn der strict-Mode jetzt aus ist sollten keine solchen Fehler mehr auftreten. Mit diesen SQL-Modi kenn ich mich eigentlich garnicht aus, aber der Beschreibung nach sind keine Probleme zu vermuten.
Bis dann
Tono
Tono
-
- Beiträge: 39
- Registriert: Fr 17. Dez 2004, 14:53
- Wohnort: NRW
- Kontaktdaten:
Dort findet sich bereits ein entsprechender Thread...
Gruß
HerrB
Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net