Mailinglisten-Archive |
Rainer Wollthan wrote: > meine frage: > wie bekomme ich die Fieldname oder sonstige angaben zum > field(type,null,auto_inc...) aus einer mySQL datenbank direkt in ein > array geschreiben ? mysql_list_fields($database_name, $table_name, $link_id); Diese Funktion liefert Dir Daten über die Tabelle $table_name in der Datenbank $database_name. Du kannst optional einen Link-Identifier $link_id mit angeben. Das Resultat der Funktion ist ein Integer (eine Kennung), die Du dann mit mysql_field_flags(), mysql_field_len(), mysql_field_name() und mysql_field_type() verwenden kannst. db_mysql.inc aus PHPLIB enthält eine Klasse DB_Sql mit einer Funktion metadata(), die genau das leistet. Extrahiert man die Funktion aus der Klasse, kommt man auf Code wie den folgenden: $id = _(at)_mysql_list_fields($database, $table); if (!$id) die("Metadata query failed."); $count = _(at)_mysql_num_fields($id); // made this IF due to performance (one if is faster than $count if's) for ($i=0; $i<$count; $i++) { $res[$i]["table"] = _(at)_mysql_field_table ($id, $i); $res[$i]["name"] = _(at)_mysql_field_name ($id, $i); $res[$i]["type"] = _(at)_mysql_field_type ($id, $i); $res[$i]["len"] = _(at)_mysql_field_len ($id, $i); $res[$i]["flags"] = _(at)_mysql_field_flags ($id, $i); } Das liefert Dir ein zweidimensionales Array $res, welches Deine Tabellenstruktur beschreibt. > oder gibs irgendwo im netz (ich hab noch nix gefunden) eine komplette > php3-doku auf dt ? Es gibt ein deutsches Buch zum Thema PHP: http://www.amazon.de/exec/obidos/ASIN/3827255244/kristiankohntopp (Plug: Wenn Du über dieses Link bestellst, geht das zu Gunsten meiner Amazon Partner-ID) Kristian -- Kristian Köhntopp, NetUSE Kommunikationstechnologie GmbH Siemenswall, D-24107 Kiel, Germany, +49 431 386 436 00 Using PHP3? See our web development library at http://phplib.shonline.de/ (GPL)
php::bar PHP Wiki - Listenarchive