Merkwürdige Fehlermeldungen - Falsche Konfiguration?
Sven
- php
Hallo,
bei der Einrichtung von verschiedenen CMS erhalte ich Fehlermeldungen, wie z. B. folgende:
MySQL-Database error
Time and Date: 08.04.2009 - 14:35
MySQL error: Field 'uid' doesn't have a default value
MySQL error number: 1364
MySQL query: INSERT INTO phpkit_user SET user_name='admin', user_pw='asd67g7erbe77ad5e5283gf873g', user_status='admin', user_email='meine@email.de',user_nick='admin',signin='1239194130',user_id=1
Spontan könnte man sagen, da fehlt ein Wert. Auf anderen Webspaces funktioniert es aber, auf meinem eigenen jedoch nicht.
Könnten gewisse Konfigurations-Möglichkeiten dafür verantwortlich sein? Gibt es PHP-Variablen, die vielleicht nicht richtig gesetzt sind? Oder hat es etwas damit zutun, dass mein Server unter Windows und nicht unter Linux läuft?
Vielleicht hat jemand ein paar Erfahrungswerte oder kann mir anderweitig helfen?
Grüße
Sven
Tach.
MySQL-Database error
Time and Date: 08.04.2009 - 14:35
MySQL error: Field 'uid' doesn't have a default value
MySQL error number: 1364
MySQL query: INSERT INTO phpkit_user SET user_name='admin', user_pw='asd67g7erbe77ad5e5283gf873g', user_status='admin', user_email='meine@email.de',user_nick='admin',signin='1239194130',user_id=1Spontan könnte man sagen, da fehlt ein Wert. Auf anderen Webspaces funktioniert es aber, auf meinem eigenen jedoch nicht.
Liegt vermutlich an unterschiedlichen Versionen oder Einstellungen von MySQL. Mit PHP hat das jedenfalls nichts zu tun.
Die Fehlermeldung (und die kommt von der Datenbank) an sich ist ja eindeutig: Das Feld uid hat keinen Standardwert, der beim Einfügen des neuen Datensatzes verwendet werden könnte. Entweder muß dieses INSERT explizit einen Wert für uid setzen oder Du gibst dem Feld einen Standardwert.
Hallo,
Liegt vermutlich an unterschiedlichen Versionen oder Einstellungen von MySQL. Mit PHP hat das jedenfalls nichts zu tun.
Die Fehlermeldung (und die kommt von der Datenbank) an sich ist ja eindeutig: Das Feld uid hat keinen Standardwert, der beim Einfügen des neuen Datensatzes verwendet werden könnte. Entweder muß dieses INSERT explizit einen Wert für uid setzen oder Du gibst dem Feld einen Standardwert.
Naja, es sollte normalerweise ja funktionieren, ohne dass man das SQL-Statement anpassen muss. Wäre es also möglich, dass die Entwickler (in diesem Fall PHPKit) ihre Software nur mit MySQL 4 getestet haben, und dies unter MySQL 5.1 jetzt Probleme macht?
Grüße
Sven
Hallo,
bei der Einrichtung von verschiedenen CMS erhalte ich Fehlermeldungen, wie z. B. folgende:
MySQL-Database error
Time and Date: 08.04.2009 - 14:35
MySQL error: Field 'uid' doesn't have a default value
MySQL error number: 1364
MySQL query: INSERT INTO phpkit_user SET user_name='admin', user_pw='asd67g7erbe77ad5e5283gf873g', user_status='admin', user_email='meine@email.de',user_nick='admin',signin='1239194130',user_id=1
vermutlich handelt es sich um einen Bug in diesen CMS. Ist dies der Fall, so melde diesen Bug.
Spontan könnte man sagen, da fehlt ein Wert. Auf anderen Webspaces funktioniert es aber, auf meinem eigenen jedoch nicht.
Könnten gewisse Konfigurations-Möglichkeiten dafür verantwortlich sein?
Eine denkbare Konstellation wäre folgende:
a) Das Feld uid hat die Eigenschaft NOT NULL
b) Für das Feld uid ist kein Default-Wert gesetzt (auch kein AUTO_INCREMENT)
c) MySQL läuft im Strict Mode
und die CMS-Programmierer haben diesen Fall nicht vorhergesehen.
Diesen Bug müssten die Entwickler des CMS unbedingt korrigieren, zum Beispiel indem sie in einen Mode schalten, unter dem ihr Code das gewünschte Resultat liefert.
Bitte prüfe meine Vermutungen. a) und b) erhältst Du zum Beispiel über
[link:http://dev.mysql.com/doc/refman/5.0/en/show-create-table.html@title=SHOW CREATE TABLE] phpkit_user
Wie Du c) ermittelst, steht im verlinkten Handbuchabschnitt.
Es ist übrigens (ganz besonders bei MySQL) eine gute Idee, die verwendete Version anzugeben. Diese erhältst Du mit
SELECT VERSION()
Freundliche Grüße
Vinzenz
Hallo,
Eine denkbare Konstellation wäre folgende:
a) Das Feld uid hat die Eigenschaft NOT NULL
b) Für das Feld uid ist kein Default-Wert gesetzt (auch kein AUTO_INCREMENT)
c) MySQL läuft im Strict Mode
c) wars! Hab meine Startparameter und die my.ini durchgeschaut - in letzterer fand ich dann den Hinweis auf den Strict Mode. Nun funktioniert's :-) Ich werd dennoch an die Entwickler schreiben.
Danke!
Grüße
Sven