Horst Hagedorn: mysql enum im zusammenspiel mit PHP

Beitrag lesen

Hallo Forum,

ich habe ein Problem mit dem enum Datentyp in mySQL. Und zwar moechte ich auch in der Lage sein, dort Werte zu speichern, die Hochkommata enthalten. Zum Beispiel:

O'Neils
O'Learies
O'Brians

Nun ist es ja so, dass der enum Datentyp Hochkommata als Begrenzer fuer die einzelnen Werte einsetzt. Ansich ja kein Problem, mit addslashes() kann ich in PHP diese Hochkommata ja codieren, so dass sie mir keine Probleme machen. Anschliessend speichere ich diese Werte in der Datenbank.

Wenn ich nun die Werte von der Datenbank abfragen moechte, nutze ich einfach stripslashes() um sie wieder los zu werden.

Ist dies im generellen ein guter Ansatz? In der Theorie funktioniert es naemlich ganz gut, aber in der Praxis habe ich es nicht hinbekommen da immer zu viele oder zu wenige backslashes vorhanden waren. Generell besteht bei diesem Ansatz ja immer das Problem mit werten die Hochkommata oder backslashes enthalten.

  • Gedankensprung -

Wie verhalt es sich, wenn meine Wertemenge sehr gross ist, Beispielsweise ich speichere alle Haupstaedte der Welt. Ich moechte nur diese Hauptstaedte in meiner Datenbank haben, da wuerde sich ja auch der enum Datentyp anbieten oder? Oder sollte ich lieber eine extra Tabelle erzeugen, die alle gueltigen Staedtenamen enthaelt und dann mit PHP absichern, dass nur gueltige Werte in der anderen Tabelle gespeichert werden?

Danke fuer eure Ratschlaege!