Datenbankabfrage Wörter als Zahlen ausgeben

klausi89

Erfahrenes Mitglied
Hallo ich hätte da mal eine Frage,

und zwar möchte ich in meinem Adminbereich eine Anzeige haben wieviele Datenbanken schon belegt sind.

Meine Datenbankabfragen werden mit PDO gemacht,

dazu habe ich folgenden Code erstellt:

PHP:
$conn = new PDO ("mysql:dbname=$db_name; host=$db_hostname", "$db_username", "$db_password");
$stmt ="SHOW DATABASES";
foreach($conn->query($stmt) as $row){
print $row['Database'];
}

das funtioniert bis auf weiteres und listet mir die Datenbanken auf.

Nun meine Frage gibt es eine Möglichkeit das nicht die Namen der Datenbanken angezeigt werden sondern einfach nur 2
oder "es sind 2 Datenbanken belegt" oder ähnliches.

Wäre nett wenn mir jemand helfen könnte irgendwie steh ich gerade aufm schlauch

Danke
 
Hey klausi,
was du suchst ist eine Abfrage des information_schemas.

Für die Anzahl der Datenbanken kannst du folgenden SQL-Statement nutzen:
SQL:
SELECT COUNT(*) FROM information_schema.SCHEMATA;
 
Bei der Antwort von merzi86 ist jedoch zu beachten, dass hier auch interne Datenbanken von MySQL / MariaDB mitgezählt werden. (u.a. information_schema)

Würde den Select soweit anpassen:
SQL:
SELECT COUNT(1) FROM information_schema.SCHEMATA s WHERE s.SCHEMA_NAME NOT IN ('information_schema', 'mysql', 'performance_schema');

Grüsse,
BK
 
Bei der Antwort von merzi86 ist jedoch zu beachten, dass hier auch interne Datenbanken von MySQL / MariaDB mitgezählt werden. (u.a. information_schema)

Ja Bratkartoffel du hast recht, ich habe die Tabellen nur nicht ausgeschlossen, da sie in seinen Code auch nicht ausgeschlossen waren.

@klausi89 wenn bei dir die internen Datenbanken nicht mit berücksichtig werden sollen, dann nutze das Statement von Bratkartoffel.
 
Zurück