Hello Nobi,
Ich hab eine MySQL Datenbank. In einer PHP Datei werden ca. 100 Datenabgefragt und in eine array gespeichert. Da ich nicht wollte das die Datenbank über 100 Spalten hat, wollte ich fragen ob man nicht die gesamte array in ein Feld speichern kann.
Die Datenbank hat Tabellen
Die Tabellen haben Spalten
Wenn nicht in jeder Abfrage alle Felder belegt werden, dann kann (ggf. muss) man die Tabellenstruktur normalisieren. Das bedeutet eine "Drehung um 90°": aus Feldern (horinzontale Achse) werden Datensätze (vertikale Achse).
Wenn die Daten alle nur direkt voneinader abhängig sind und man nicht über einzelne Felder (Spalten) der Tabellen sortieren und filtern muss, dann kann man selbstverständlich die Datenblöcke auch als geschlossene Einheiten in einem Feld der Datenbank ablegen.
Du hast ja schon gehört, dass dazu serialize() benutzt werden kann. Allerdings muss man den Stream dann noch irgendwie bearbeiten. Es könne ja auch MySQL-Steuerzeichen (Doppelhäkchen, Häkchen, ...) enthalten sein. Die muss man maskieren, damit sie sauber durch die Schnittstelle zur DB laufen. Die DB selber entfernt diese Maskierungen dann wieder. Sie werden also nicht mit abgespeichert. I.d.R. sollte die Funktion mysql_escape_string() das Gewünschte leisten.
Liebe Grüße aus http://www.braunschweig.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen