while(my $product = $query->fetchrow_hashref(«NAME_uc»))
{
print «
»
foreach my $field_name (keys %$product)
{
print «$product->{$field_name}\t»;
}
print “
” }
Этих недостатков лишен метод fetchrow_arrayref(), который работает аналогично методу fetchrow_hashref(), но возвращает ссылку на массив с числовыми индексами. При использовании метода fetchrow_arrayref() сценарий для вывода списка товаров будет следующим (листинг 4.13). Листинг 4.13.Получение информации и отображение ее на странице
#!»C:\Program Files\xampp\perl\bin\perl.exe»
print «Content-type: text/html; charset=windows-1251\n\n»;
use DBI;
#Подсоединяемся к базе данных
my $dbh = DBI -> connect(«DBI:mysql:database=SalesDept;host=localhost»,
«username»,»userpassword»);
if(!$dbh)
{
print «Ошибка доступа к базе данных. Приносим свои извинения”;
die();
}
#Устанавливаем кодировку CP-1251
$dbh->do(«SET NAMES cp1251»);
#Выполняем запрос к базе данных
my $query = $dbh->prepare(«SELECT * FROM Products»);
my $qresult = $query -> execute();
if(!$qresult)
{
print “Ошибка доступа к базе данных. Приносим свои извинения”;
die();
}
#Создаем строку для вывода результатов запроса
my $pagecontent=””;
#Для каждой строки из результата запроса
#записываем данные в массив и сохраняем ссылку на массив
#в переменной $product
while(my $product = $query -> fetchrow_arrayref())
{
#Выводим элементы массива с номерами 1, 2, 3
$pagecontent.=»
».$product->[1].» |
».$product->[2].» |
».$product->[3].» |
\n»;
}
#Освобождаем ресурсы
$query -> finish();
#Отсоединяемся от базы данных
$dbh->disconnect();
#Выводим полученные данные
print “
Список товаров
«.$pagecontent.»
Наименование |
Описание |
Цена |
“;
Итак, вы узнали, как создать сценарий Perl, запрашивающий информацию из базы данных. Теперь кратко обобщим основные сведения, изложенные в этом разделе.
Итоги
В данном разделе вы изучили функции языка Perl, позволяющие выполнять все необходимые операции с базой данных MySQL:
• подключение к базе данных и отключение от нее;
• выполнение SQL-команд как получающих информацию из базы данных (методы prepare() и execute()), так и не получающих ее (метод do());
• обработка ошибок.
Ознакомиться с полным списком функций модуля Perl DBI вы можете, перейдя по странице http://dbi.perl.org/ на ссылку Manual pages.
В следующем разделе вы узнаете о том, как взаимодействуют с базой данных веб-приложения на языке Java.
В этом разделе рассмотрим разработку Java-сервлетов, использующих базу данных MySQL для хранения и поиска информации. Вы узнаете, как создать и настроить среду разработки сервлетов, а также научитесь использовать для взаимодействия с MySQL функции JDBC (Java Database Connectivity – интерфейс доступа к базам данных из приложений Java).
В первую очередь вы узнаете, какое программное обеспечение потребуется для создания сервлетов.
Среда разработки сервлетов
Для создания сервлетов необходимы следующие программы:
• Java Development Kit (JDK) – пакет поддержки разработок в среде Java;
• дополнительная библиотека servlet-api.jar (или servlet.jar), необходимая для компиляции сервлетов, но не входящая в состав Java Development Kit;
• контейнер сервлетов – программа, обеспечивающая загрузку и выполнение сервлетов;
• программа, выполняющая функции веб-сервера.
Широко известным контейнером сервлетов является Tomcat – свободно распространяемая программа с открытым кодом. Tomcat может выполнять функции веб-сервера либо использоваться совместно с веб-сервером Apache. В состав Tomcat входит и библиотека servlet-api.jar.
Кроме того, чтобы сервлеты могли взаимодействовать с базой данных, необходимо установить и подключить JDBC-драйвер. В качестве такого драйвера был выбран MySQL Connector/J.
Итак, наша среда разработки будет состоять из Java Development Kit, Tomcat и MySQL Connector/J. В следующем подразделе вы узнаете, как установить и настроить эти компоненты.
Подготовка к работе
В данном подразделе мы рассмотрим создание среды разработки сервлетов. Вначале мы загрузим и установим компоненты среды, затем выполним несколько несложных настроек.
Установка Java Development Kit
Для установки Java Development Kit выполните следующие действия.
Читать дальше
Конец ознакомительного отрывка
Купить книгу