phpbar.de logo

Mailinglisten-Archive

[php] field_names

[php] field_names

Kristian =?iso-8859-1?Q?K=F6hntopp?= kk_(at)_netuse.de
Wed, 30 Jun 1999 10:24:51 +0200


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