Rausfinden welche Spalten es gibt
Andavos
- datenbank
Hallo,
kann ich mit MySQL + PHP herrausfinden, wie alle Spalten in einer Tabelle heißen, ohne phpMyAdmin zu benutzen?
Bitte nicht sowas komplizertes schreiben, sondern am besten einen Codeschnipsel oder einen Link, der das wirklich gut und einfach Erklärt.
MFG
Andavos
Hallo Andavos,
/* Die Tabelle users enthält drei Felder:
user_id
username
password
*/
$link = mysql_connect('localhost', "mysql_user", "mysql_password");
mysql_select_db($dbname, $link)
or die("Auswahl der Datenabnk $dbname fehlgeschlagen: " . mysql_error());
$res = mysql_query("select * from users", $link);
echo mysql_field_name($res, 0) . "\n";
echo mysql_field_name($res, 1) . "\n";
echo mysql_field_name($res, 2);
Ganz einfach gefunden bei http://www.php.net/manuals/de und ganz konkret unter http://www.php.net/manual/de/function.mysql-field-name.php
Cool, oder?
Schönen Gruß aus München
die knappschaft
Hallo,
jo das wäre eine möglichkeit, aber kann ich irgendwie alles Ausgeben lassen, ohne das ich immer "echo mysql_field_name($res, 0) . "\n";" schreiben muss?
Denn was ist wenn ich nicht genau weiß, wieviele Spalten eine Tabelle hat`?
MFG
Andavos
Hallo Andavos,
dann nimmst du halt eine Schleife. While würde sich doch anbieten, oder. Bei jedem Durchlauf zählst du dein ($res, 0) um einen hoch.
Schönen Gruß aus München
die knappschaft
Hallo,
ja, aber wie weiß ich denn wieviele Spalten eine Tabelle hat?
Wenn ich sag, das er bei 500 aufhören soll, dann erhalte ich jedes mal eine Fehlermeldung, wenn es diese Spalte nicht gibt, und das möchte ich ja nicht.
Wie gesagt, wenn ich nicht weiß wieviele Spalten eine Tabelle hat.
MFG
Andavos
Hallo Andavos,
warum liest du nicht unter den Links, die ich dir gegeben habe, weiter?
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
$fields = mysql_list_fields("database1", "table1", $link);
$columns = mysql_num_fields($fields);
for ($i = 0; $i < $columns; $i++) {
echo mysql_field_name($fields, $i) . "\n";;
}
Das steht da doch alles, oder?
Schönen Gruß aus München
die knappschaft
Hallo,
kann ich mit MySQL + PHP herrausfinden, wie alle Spalten in einer Tabelle heißen, ohne phpMyAdmin zu benutzen?
Ja, nach intensivem Handbuchstudium (ca. 2 Minuten) fand ich auch etwas, das sich mit diesem Thema auseinandersetzt:
http://www.mysql.com/doc/en/Show_database_info.html
http://www.mysql.com/doc/en/DESCRIBE.html
Grüße
Klaus
Hallo,
kann ich mit MySQL + PHP herrausfinden, wie alle Spalten in einer Tabelle heißen, ohne phpMyAdmin zu benutzen?Bitte nicht sowas komplizertes schreiben, sondern am besten einen Codeschnipsel oder einen Link, der das wirklich gut und einfach Erklärt.
MFG
Andavos
Hallo Andavos,
Es gibt noch eine andere Möglichkeit.
$sql="select * from mytable";
$res mysql_query($sql) or die("Das war wohl nix!");
for($i=0; $i < mysql_num_fields; $i++)
{
echo mysql_field_name($res, $i)."<br>\n";
}