Sönke Tesch: Postleitzahlen die mit "0" beginnen

Beitrag lesen

für die Suche in einer MySQL Adressdatenbank habe ich ein Skript geschrieben, das u.a. auch den numerische Wert der PLZ verwendet.
Das klappt wunderbar, so lange die PLZ >= 09999 ist, bzw. am String nichts verändert wird...

Redest Du von MySQL oder von PHP? In letzterem Fall: Vermeide entweder, mit der PLZ-Variable zu rechnen (das ruft die automatische Typkonvertierung auf den Plan, die aus dem Text 01234 die Zahl 1234 macht), oder benutze zur Ausgabe der Postleitzahl die Funktion printf() mit der Schablone %05d ( = eine Zahl mit fünf Stellen, aufgefüllt mit führenden Nullen).

Letzteres ist möglicherweise im Endeffekt einfacher, weil sicherer, denn die Typkonvertierung von PHP kann sich zeitweilig als störisches Biest erweisen.
Aus diesem Grund hilft es auch gar nichts, wenn Du in MySQL eine Textspalte statt einer numerischen Spalte vorsiehst - durch PHP muß der Wert immer durch.

Gruß,
  soenk.e

PS: Texte werden in PHP mit dem . verkettet, nicht mit + .