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