Falls man mal in die Verlegenheit kommt, die maximale Zeichenlänge maxlength eines Eingabefeldes für ein Formular automatisch durch die Länge des Spaltentypen aus einer MySQL-Tabelle ermitteln zu wollen, ist vielleicht dieser kurze Artikel ganz nützlich. Da aber Abfragen für Beschreibungen der Tabellenstruktur nicht unbedingt einer Standardisierung unterliegen, ist folgende Vorgehensweise vermutlich nur für MySQL-Anwender brauchbar …
Ob man MySQL die Abfrage DESCRIBE table_name oder SHOW COLUMNS FROM table_name schickt, ist reine Geschmackssache. Beide Statements liefern das selbe Ergebnis. Neben Field für den Namen der Spalte und Type für den Spaltentypen werden außerdem die Werte für Null, Key, Default und Extra geliefert, die mich an der Stelle aber nicht weiter interessieren.
Wenn man den Wert von Type an ein Funktion bzw. Methode schickt, sollte sich mittels ereg – oder jeder anderen PHP-Funktion, die mit regulären Ausdrücken umgehen kann – die Länge leicht ermitteln lassen:
[code lang="php"]if (ereg ("^[a-z]+(([0-9]+)).*$", $type, $regs))
echo $reg[1];[/code]
Have fun!