Zum Inhalt springen

Probleme mit MySQL nach Installation

Erstellt am 12. August 2008 · 14 Antworten · letzte Antwort am 28. April 2009

Tags: Datenbank, Frage

plume ·

Die Installation von neuesten Typo3 unter Windows XP, PHP 5 und MySQL 5.0.15 ist erfolgreich gewesen, indem ich zum Backend konnte und weitere Einstellungen im Admin-Bereich vornehmen konnte...

Bei Anlegen von Seiten bekomme ich jedoch folgende Fehlermeldung:

2: SQL error: 'Out of range value adjusted for column 'storage_pid' at row 1' (pages:NEW48a1659c58581)

Beim Analysieren des Datenbank, lautet es, daß alle Tabellen in der Datenbank vorhanden sind. Lediglich nicht alle Tabellen der DB seien auch in TCA...

Das Feld storage_pid ist ein Integer(11) default '0'

Ich bin Neuling und habe auch nicht sooo viel Ahnung von Datenbanken, ich weiß nicht, ob ich die falsche Version habe, aber ich sehe, Andere haben noch MySQL 4, also wo soll das Problem mit meiner auch älteren Version sein?

Ach so, und Extensions habe ich noch keine installiert, außer die Sprachextensions für Deutsch und Französisch. Ich denke auch nicht, daß die Probleme machen, vor allem, da der DB Analyser nichts sagt...

Weiß jemand Rat???...

plume ·

Wie gesagt, da scheint alles OK zu sein, alle Tables sind angeblich in meiner Datenbank vorhanden. Nur in TCA ist nach diesen Infos nicht alles so, wie in der DB...

Die Fehlermeldung kommt mit der storage_pid, es wird da versucht, '' einzugeben, storage_pid ist aber integer(11). Vllt erwartet die Db da ein '0'?

cope ·

hmmm

könntest Du mal im Install Tool das [sqlDebug] einschalten? (Bei "All Configurations"). Damit man eine Idee bekommen kann?

LG
Cope

plume ·

Ja, habe ich, wußte aber nicht weiter...
Hier die Meldungen:

caller t3lib_DB::exec_INSERTquery

ERROR Out of range value adjusted for column 'storage_pid' at row 1

lastBuiltQuery INSERT INTO pages
(
doktype,
hidden,
starttime,
endtime,
layout,
urltype,
lastUpdated,
newUntil,
cache_timeout,
shortcut_mode,
module,
perms_userid,
perms_groupid,
perms_user,
perms_group,
perms_everybody,
sorting,
pid,
no_search,
nav_hide,
title,
alias,
target,
no_cache,
subtitle,
nav_title,
author,
author_email,
abstract,
keywords,
description,
media,
TSconfig,
php_tree_stop,
editlock,
storage_pid,
is_siteroot,
l18n_cfg,
content_from_pid,
fe_login_mode,
fe_group,
extendToSubpages,
crdate,
cruser_id,
tstamp
) VALUES (
'1',
'0',
'0',
'0',
'0',
'1',
'0',
'0',
'0',
'0',
'',
'1',
'0',
'31',
'27',
'0',
'256',
'0',
'0',
'0',
'test',
'',
'',
'0',
'',
'',
'',
'',
'',
'',
'',
'',
'',
'0',
'0',
'',
'0',
'0',
'',
'0',
'',
'0',
'1218570115',
'1',
'1218570115'
)

debug_backtrace SC_alt_doc->processData#1477 // t3lib_TCEmain->process_datamap#321 // t3lib_TCEmain->insertDB#908 // t3lib_DB->exec_INSERTquery#5805 // t3lib_DB->debug#181

Warning: Cannot modify header information - headers already sent by (output started at C:\Dokumente und Einstellungen\(...)\xampp\htdocs\typo3-fmf\t3lib\class.t3lib_db.php:1137) in C:\Dokumente und Einstellungen\(...)\xampp\htdocs\typo3-fmf\typo3\template.php on line 632

Errors:
2: SQL error: 'Out of range value adjusted for column 'storage_pid' at row 1' (pages:NEW48a1e76ab7c37)

Ideen?...

plume ·

Woran kann das liegen? Was soll ich versuchen?

MySQL: eine neue Version installieren? (ungern, aber könnte ich doch machen...)
oder eine andere Version von Typo3 probieren, eine frühere?
Von Apache habe ich die Version: Apache/2.2.3 (Win32) DAV/2 mod_ssl/2.2.3 OpenSSL/0.9.8d mod_autoindex_color PHP/5.2.0

Danke für Hinweise oder Ideen...

cope ·

Hallo,

so we ich das sehe, macht die storagePid Probleme. Also schätze ich mal, dass an irgendeiner Stelle der Verweis auf die "allgemeine Datensatz Seite" oder "General Records Storage Page" nicht stimmt. Entweder ein Eintrag, der auf eine nicht mögliche SeitenID verweist, oder aber es wird eine Seite für die allgemeine Datensatz Sammlung von irgendeinem Plugin benötigt?

LG
Cope

plume ·

Könnte das heißen, das was mit den Pfaden nicht in Ordnung ist? vllt wegen Leerzeichen im Pfad?... Würde heißen, ich soll Xamp und Typo3 woanders installieren, lieber ohne Leerzeichen im Pfad oder sonstige Sonderzeichen...

Ich habe außer die Sprachen nichts installiert... kein Plugin, was sollte denn bei mir die Seite aufrufen wollen? Und die DB scheint eigentlich in Ordnung zu sein.

Ich denke, werde mal wamp neu installieren...
(oder lieber ein älteren typo?)

cope ·

Könnte das heißen, das was mit den Pfaden nicht in Ordnung ist?

Nö, sollte damit nix zu tun haben, ist ja ein DB Problem.

oder lieber ein älteren typo

auch nö. Aktuelles php und mysql sollte natürlich da sein

Martin_1986 ·

Hallo,

hab das gleiche Problem.

MySQL 5.0.22
PHP 2.8.1

Hab bisher nur Typo3 Version 4.2.1 installiert und die Standardeinstellungen vorgenommen. Wenn ihr mittlerweile ne Lösung habt, wäre echt hilfreich!

Danke

cope ·

Hallo Martin,

PHP 2.8.1

echt? Ich glaube Du meinst 4.8.1.
Für die Version 4.2.1 von TYPO3 steht irgendwo, dass die Mindestanforderung PHP 5.2 ist. Wenn Dein PHP also eine Version < 5.2 ist wird 4.2.1 TYPO3 nicht funktionieren

LG
Cope

Martin_1986 ·

Hi,

du hast Recht. Keine Ahnung wie ich auf diese Versionsnummer gekommen bin. Nutze die Version 5.1.4 (sollte jetzt aber die richtige sein^^).

Ich werde es mit einer Version >= 5.2 ausprobieren.

Danke soweit

LG
Martin

Martin_1986 ·

Hi nochmal,

hab die PHP-Version nicht anghoben und wollte stattdessen auf Typo3 4.1.7 zurückgreifen.

Bei der Installation hat alles geklappt. Dannach wollte ich mich im BE anmelden um zu testen ob es mit der Version klappt eine Seite anzulegen. Doch leider scheiterte ich hier schon am Einloggen - ein Blick auf die be_users-Tabelle machte deutlich das dort nicht ein User erfasst wurde. Also hab ich mit dem Installationstotl einen neuen Admin-User angelegt. Trotz der Ausschrift erfolgreich angelegt und dem schicken grünen Häckschen war die Tabelle be_users leer. Konnte den gleichen Nutzer so oft "anlegen" wie ich wollte, er kam nie in die Tabelle.

Eine Ahnung was jetzt wieder inkompatibel ist?

Vielen Dank

Martin

wilson133 ·

Der Fehler ist doch offensichtlich:

in der Tabelle pages ist die Spalte storage_pid als int, also Ganzzahl definiert. Übergeben an die Spalte wird aber, wie man an den ganzen Postings sieht, ein leerer String ''. Folgerichtig ist ein leerer String keine Ganzzahl und MySQL meldet zu recht "Out of range". Da hätten die lieben Programmierer von typo3 ja mal aufpassen können. Warum es den Fehler gibt ist auch ganz einfach: In früheren MySQL-Versionen hat MySQL für einen leeren String einfach NULL angenommen. Da die Spalte keine null-Werte haben darf, aber als Standardwert 0 definiert hat, wurde also 0 eingefügt.

Im Übrigen würde es, nach dem man den ersten Fehler beseitigt hat, weitergehen mit der Spalte content_from_pid. Auch diese wird mit einem leeren String bedient.

Als 'ugly dirty hack' kann man den beiden Spalten in phpMyAdmin den Typ VARCHAR statt INT zuweisen (Bei letzerem Feld das unsigned Attribut heruasnehmen).

Eine gute Lösung ist das nicht. Alternativ kann man eine MySQL Version - ich glaube - kleiner 4.1 nehmen.

Die echte Lösung müsste aber sein, dass die Damen und Herren, die typo3 skripten, mal schauen, dass sie ihre Variablentypen in Griff bekommen - ich weiß schon, warum ich mein eigenes CMS programmiert habe...

wilson133 ·

By the way:

Eine recht einfache Lösung ist natürlich die sql_mode Einstellungen von MySQL zu ändern. Dann kann man auch die aktuelle MySQL Version verwenden.

siehe dazu:

http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html#sqlmode_strict_trans_tables

Der entscheidene Satz ist:

If you are not using strict mode (that is, neither STRICT_TRANS_TABLES nor STRICT_ALL_TABLES is enabled), MySQL inserts adjusted values for invalid or missing values and produces warnings.

Also strict mode abschalten.