Spaltenanzahl wenn Tabelle leer ist

themadman

Mitglied
Hallo,
ich habe ein Problem, ich bekomme es nicht hin,die Anzahl an Spalten aus einer Tabelle auszulesen, wenn diese keine Einträge besitzt!

Wenn ich z.B. einen Eintrag in der Tabelle habe, lese ich die Anzahl einfach so hier aus:
PHP:
$sql='SELECT * FROM '.$_POST[tab_name];
$connection = mysql_connect($db_server, $db_user, $db_passwort);
$result = mysql_db_query($db_name, $sql, $connection);

if(!empty($result)) {
  $spalten = mysql_num_rows($result);
}

Wenn jedoch die Tabelle leer ist (d.h. $result ist leer), dann bekomm ich ja auch keine Spaltenzahl geliefert.

Wie schaffe ich es denn die Spaltenzahl in diesem Fall auszulesen?

Wäre um eure Hilfe sehr dankbar!

MfG
Mike
 
Zuletzt bearbeitet:
Die Funktion [phpf]mysql_num_rows[/phpf] kannst du nur benutzen, wenn vorher eine SELECT-Anfrage durchgeführt wurde.
Also so z.B.:
PHP:
$sql = "SELECT * FROM `tabelle`";
$result = mysql_query($sql);
$num = mysql_num_rows($result);
greetz
daddz
 
ja sorry hatte ich in meinem quelltext vergessen.

aber wie bekomme ich es denn hin wenn KEIN Datensatz in der Tabelle ist, wieviele Spalten es sind.

z.B. Eine Tabelle mit: id, vorname, nachname

das sind 3 Spalten. aber wie kann ich das herausbekommen wenn ich noch keinen Datensatz, z.B. 4, Hugo, Schulz, in der Tabelle habe?
 
nein, will ein Formular anlegen, wo man den Tabellennamen eingibt und anschließend Felder hinzufügen kann. Dafür muss ich aber ja wissen wieviele Spalten in der Tabelle sind.
 
Problem gelöst!

PHP:
$connection = mysql_connect($db_server, $db_user, $db_passwort);
$result = mysql_list_fields($db_name, $_POST[tab_name], $connection);
$menge = mysql_num_fields($result);
 
Zurück