Befehl -> Wieviele Reihen sind in mySQL db ?

BenoX

Erfahrenes Mitglied
Grml... ich komm einfach nicht mehr auf den Befehl... bzw. des aufgebaut ist.

Ich möchte einfach nur aus einer db auslesen wieviel Reihen dort sind.
Aber mit Einschränkung. Also nur jene die eine bestimmte usr_id haben und die anzahl möchte ich dann via echo ausgeben lassen

ich komm echt nicht drauf ich weiss das ich des letztens noch irgendwo angewendet habe

grml *peinlich* :-( :-( :-(
 
mit dem PHP-Befehl kann ich dir nicht dienen, jedoch mit der Synax für MySQL
Code:
SELECT COUNT(*) FROM table WHERE feld LIKE '%bedingung%';
 
Also: Ein SQL-Statement abschicken musst Du immer, wie Gumbo schon erwähnte. Auch mysql_num_rows($resultSet) liefert nur was, wenn man vorher eine Abfrage erstellt hat, schließlich musst man der Funktion ja ein ResultSet übergeben.
Wenn man nur die Anzahl wissen will und den Inhalt der Datensätze selbst nicht braucht, dann ist MCIglo's Variante die bessere weil schneller.

Martin
 
Man könnte das ganze natürlich auch unter einen Hut bringen und MCIglo's Variante zu einer Funktion formulieren:
PHP:
function mysql_count_rows ($table, $where='')
{
  $sql = "SELECT COUNT(*) AS rows FROM $table".(($where != "") ? "WHERE $where" : "");
  $r = mysql_query ($sql);
  if ($r)
  {
    return mysql_result ($r, 0, 'rows');
  }
  else
  {
    return false;
  }
}

Hab das jetzt nicht getestet, aber Aufrufen müsstest du das ganze so:
PHP:
$anzahl = mysql_count_rows ("tabellenname", "feld LIKE '%bedingung%'");
 
Zurück