425 Stimmen

Tabellenspaltennamen in MySQL abrufen?

Gibt es eine Möglichkeit, den Spaltennamen einer Tabelle in MySQL mit PHP zu erfassen?

4voto

dannysauer Punkte 3681

Die MySQL-Funktion Tabelle beschreiben sollte Sie ans Ziel bringen (geben Sie den Namen Ihrer Tabelle für "table" ein). Sie müssen die Ausgabe etwas parsen, aber das ist ziemlich einfach. Wenn ich mich recht erinnere, haben die PHP-Abfrageergebnisse, die auf Funktionen zugreifen, die Ihnen normalerweise ein Schlüssel-Wert-Paar liefern, die Spaltennamen als Schlüssel, wenn Sie diese Abfrage ausführen. Aber es ist schon eine Weile her, seit ich PHP benutzt habe, also nehmen Sie mich nicht beim Wort :)

4voto

thewebguy Punkte 1500

Weitere Informationen finden Sie unter mysql_fetch_array() , wie in:

$rs = mysql_query($sql);
while ($row = mysql_fetch_array($rs)) {
//$row[0] = 'First Field';
//$row['first_field'] = 'First Field';
}

4voto

Pascal MARTIN Punkte 384469

En mysql_list_fields Funktion könnte Sie interessieren; aber, wie im Handbuch angegeben:

Diese Funktion ist veraltet. Es ist besser zu verwenden mysql_query() an eine SQL-Anweisung SHOW COLUMNS FROM table [LIKE 'name'] Anweisung an.

3voto

Harish Kumar Punkte 41

Können Sie die gesamte Tabellenstruktur mit dem folgenden einfachen Befehl abrufen.

DESC TableName

oder Sie können folgende Abfrage verwenden.

SHOW COLUMNS FROM TableName

3voto

ibRQD Punkte 21
$col = $db->query("SHOW COLUMNS FROM category");

while ($fildss = $col->fetch_array())
{             
    $filds[] = '"{'.$fildss['Field'].'}"';
    $values[] = '$rows->'.$fildss['Field'].'';
}

if($type == 'value')
{
    return $values = implode(',', $values);
}
else {
     return $filds = implode(',', $filds);
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X