MySQL & mSQL



              

DBI - часть 4


'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>

HTML

exit(0)

В примере 10-2 tableshow.cgi принимает в качестве параметров имя сервера базы данных (по умолчанию «localhost») и имя базы данных на этом сервере. Затем программа показывает все таблицы, имеющиеся в этой базе данных.

Пример 10-2. Программа CGI tableshow.cgi выводит список всех таблиц в базе данных

#!/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>




Содержание  Назад  Вперед