Лістинг 5.18. Скрипт datashow.pl показує бази даних, MYSQL, що є на сервері

#!/usr/bin/perl -w

use strict;

use CGI qw( standard);

use CGI Carp;

# Використовувати модуль DBI use DBI CGI use_named_parameters(1)

my ($server, $sock, $host);

my $output = new CGI;

$server = param('server') or $server ="";

# Підготувати DBD-драйвер для MYSQL

my $driver = DBI->install_driver('mysql');

my @databases = $driver->func($server '_ListDBs');

# Якщо параметр §databases не визначений # передбачаємо, що на

# цьому вузлі не запущений сервер MYSQL Проте це може бути викликано

# іншими причинами Повний текст повідомлення про помилку

# можна отримати перевіривши $DBI errmsg

if (not @databases) {

print header, start_html( title => Дані по $server, BGCOLOR => white )

print <<END_OF_HTML, <H1>$server</h1>

Ha $server, мабуть не запущений сервер mSQL </body></html> END_OF_HTML

exit(0)}

print header, start_html(title =>"Данные по $host", BGCOLOR => white)

print <<END_OF_HTML, <H1>$host</h1>

<P>Соединение з $host на сокеті $sock<P>Базы даних <br><UL>

END_OF_HTML

foreach(@databases){

print "<LI>$_\n";}

print << END_OF_HTML

</ul></body></html>

exit(0)

У лістингу 5.19 tableshow.pl приймає як параметри ім'я сервера бази даних (за замовчуванням «localhost») і ім'я бази даних на цьому сервері. Потім програма показує всі таблиці, наявні в цій базі даних.

Лістинг 5.19. Скрипт tableshow.pl виводить список всіх таблиць в базі даних

#!/usr/bin/perl -w

use strict;

use CGI qw( standard);

use CGI Carp;

# Використовувати модуль Msql.pm

use DBI;

CGI use_named_parameters(1);

my ($db);

my $output = new CGI;

$db = param( db ) or die( He вказана база даних' );

# Connect to the requested server

my $dbh = DBI->connect( DBI mysql $db $server, undef, undef);

# Якщо не існує $dbh значить, спроба з'єднання з сервером

# бази даних не удалася Можливо, сервер не запущений

# або не існує вказаної бази даних

if (not $dbh) {

print header, start_html( title => Дані по $host => $db,

BGCOLOR => white )

print <<END_OF_HTML <H1>$host</h1> <H2>$db</h2>

Спроба з'єднання не удалася з наступної причини <BR>

$DBI errstr </body></html> END_OF_HTML

exit(0)}

print header, start_html( title => Дані по $host => $db,

BGCOLOR => white ), print <<END_OF_HTML

<H1>$host</h1> <H2>$db</h2><р>

Таблиці:<br><UL>

END_OF_HTML

# $dbh->listtable повертає масив таблиць

# наявних в поточній базі даних.

my @tables = $dbh->func('_ListTables');

foreach (@tables) {

print "<LI>$_\n"; }

print <<END_OF_HTML; </ul>

</body></html> END_OF_HTML

exit(0);

І нарешті, лістинг 5.20 показує, як вивести всі відомості про деяку таблицю.








Дата добавления: 2016-04-02; просмотров: 755;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.