Reklama

zonerbooks.cz | zoner.cz | czechia.com | regzone.cz | inshop.cz | inmail.cz | zonerpress.cz | zonerantivirus.com | zonerama.cz

interval.cz

Informace o databázi pomocí prohlížeče

11. 08. 2002 | Zdeněk Šneller | Databáze | Komentáře: 0

Potřebujete-li zjistit informace o databázi, kterou využíváte, zkuste se inspirovat následujícím postupem. Umožní vám pomocí internetového prohlížeče zjistit ke kolika databázím máte přístup, jaké tabulky obsahuje zvolená databáze, jakého typu jsou a jaké příznaky mají sloupce, kolik záznamů obsahuje tabulka apod.

Výpis všech databází ke kterým máme přístup, nám zobrazí tento cyklus:

for( $i=0; $i<mysql_num_rows(mysql_list_dbs());$i++){
echo "-".mysql_tablename(mysql_list_dbs(), $i)."<br>";
$dat=mysql_tablename(mysql_list_dbs(), $i);
}

Příkaz mysql_num_rows(mysql_list_dbs()) zjistí počet dostupných databází. Druhý řádek vypisuje jejich názvy. Proměnnou $dat použijeme v dalších příkazech jako odkaz na databázi, se kterou pracujeme.

Tabulky v jednotlivých databázích vypíše tento cyklus:

for( $a=0; $a<mysql_num_rows(mysql_list_tables($dat));$a++){
echo "-".mysql_tablename(mysql_list_tables($dat), $a)."<br>";
$tab=mysql_tablename(mysql_list_tables($dat), $a);
}

Příkaz mysql_num_rows(mysql_list_tables($dat)) zjišťuje počet tabulek v aktuální databázi. Druhý řádek vypisuje názvy tabulek v databázi. Proměnnou $tab budeme odkazovat na aktuální tabulku.

Nyní zjistíme parametry jednotlivých tabulek:

$result=mysql("$dat", "select * from $tab");
for($b=0; $b < mysql_num_fields($result); $b++) {
echo "-".mysql_field_name($result,$b)."<br>";
echo "-".mysql_field_type($result,$b)." [".mysql_field_len($result,$b)."]<br>";
echo "-".mysql_field_flags($result, $b)."<br>";
}

Po vyvolání SQL dotazu získáme tyto údaje:

  • mysql_num_fields($result) – počet sloupců v tabulce
  • mysql_field_name($result,$b) – název sloupce
  • mysql_field_type($result,$b) – datový typ sloupce
  • mysql_field_len($result,$b) – omezení (počet znaků atd.)
  • mysql_field_flags($result, $b) – příznak (primary_key, not_null atd.)

Počet záznamů v tabulce získáme příkazem:

$pocet_zaz = mysql_num_rows($result);
echo "Tabulka $tab obsahuje $pocet_zaz záznamů";

Pokud z výše uvedených tří cyklů vytvoříme vnořené cykly, získáme kompletní výpis parametrů celé databáze:

for( $i=0; $i<mysql_num_rows(mysql_list_dbs());$i++){
echo "-".mysql_tablename(mysql_list_dbs(), $i)."<br>";
$dat=mysql_tablename(mysql_list_dbs(), $i);
for( $a=0; $a<mysql_num_rows(mysql_list_tables($dat));$a++){
echo "-".mysql_tablename(mysql_list_tables($dat), $a)."<br>";
$tab=mysql_tablename(mysql_list_tables($dat), $a);
$result=mysql("$dat", "select * from $tab");
for($b=0; $b<mysql_num_fields($result); $b++) {
echo ("-".mysql_field_name($result,$b)." ".
mysql_field_type($result,$b)." [".mysql_field_len($result,$b)."] ".
mysql_field_flags($result, $b)."<br>");
}
}
}

Jestliže si chcete tento návod vyzkoušet v praxi, můžete si stáhnou tři ukázky použití tohoto kódu. Do stránek je třeba doplnit vaše přístupové údaje k MySQL (server, login, heslo). Najdete zde například ukázku výpisu s použitím CSS:

Textový výpis celé databáze a textový výpis jednotlivých databází pomocí 'selectu' je vhodnější pro rozsáhlé databáze:

Starší komentáře ke článku

Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.


Reklama


Další aktuální články na interval.cz

Tematicky související články

Dejte vědět i ostatním o článku

Diskuse (počet komentářů: 0)

Buďte prvním návštěvníkem, který přidá nový komentář.

Přidat nový komentář

Jméno a e-mail jsou nepovinné. Příspěvky obsahující odkaz jsou moderovány.

Zoner AntiVirus Free pro Android
zabezpečte si svůj smartphone, zdarma
Profesionální eshop Zoner inShop od 990 Kč.
Reklama
Reklama

Syndikace

hledáme nové autory | redakce interval.cz | reklama na interval.cz

© ZONER software, a.s., všechna práva vyhrazena, interval.cz dodržuje právní předpisy o ochraně osobních údajů. Powered by WordPress.