donroca: Anzahl der Felder und Zeilen abfragen

Hallo,

Ich moechte von einer MySQL-Tabelle in einer Abfrage wissen, wieviele Fields und wieviele Records sie hat. Kann mir jemand sagen, wie die Abfrage aussehen muesste?

Vielen Dank

Dieter

  1. Hi,

    describe table

    Liebe Grüße aus http://www.braunschweig.de

    Tom

    --
    Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.
    1. Hi Tom,

      damit kriege ich, wie ich das sehe, die Anzahl der Felder hin, mit select max(id)
       krieg ich auch die Records raus, ich haette aber gerne beides gehabt. Dein Vorschlag returnt:

      $sql = "describe bekos";
      $result = $db->query($sql);
      $data = $result->fetchRow();
      print_r($data);// das Zaehlen wollen wir mal sparen fuer den Moment

      Array ( [0] => id [1] => smallint(3) unsigned zerofill [2] => [3] => PRI [4] => [5] => auto_increment )

      Dieter

      1. Hallo,

        da wirst Du wohl noch ein zweites Statemen benötigen:

        show table status;

        Das zeigt die eine Statistik für ALLE Tabellen der DB an.

        Liebe Grüße aus http://www.braunschweig.de

        Tom

        --
        Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.
        1. Hallo Tom,

          so hab's letztendlich auch gemacht gestern nacht.

          Dieter

          P.S:
          Wie schaffst Du es eigentlich, schon um 6:15 im Forum zu sein, waehrend ich noch bedaure, dass es gestern wieder viel zu spaet wurde ... ;-)

          1. Hi,

            Wie schaffst Du es eigentlich, schon um 6:15 im Forum zu sein, waehrend ich noch bedaure, dass es gestern wieder viel zu spaet wurde ... ;-)

            Indem ich um kurz vor 6:00 Uhr aufstehe. *gg*

            Liebe Grüße aus http://www.braunschweig.de

            Tom

            --
            Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.
      2. HALT, GEFÄHRLICH !

        Wenn du in dem Statement SELECT MAX(id) das machst was ich denke was du machst dann ist das sehr dünnes Eis.
        Das funktioniert praktisch nur dann, wenn DU selbst für laufende Nummern sorgst, es wurde hier im Forum schon ein paar mal angesprochen, dass sich Auto-Increment Felder NICHT zur Zählung von Datensätzen eignen. Die können Lücken aufweisen bzw. gar nicht erst bei 0 loslaufen obwohl die Tabelle leer ist/war.

        Um die Anzahl der Datensätze zu zählen solltest du ein
        SELECT COUNT(*) AS anz FROM table
        machen (=> eine Row mit einem Feld "anz" mit der Datensatzzahl)
        oder ein Resourcen verschwendendes
        SELECT * FROM table
        mit anschließenden mysql_num_rows(result)