KnigaRead.com/
KnigaRead.com » Компьютеры и Интернет » Программирование » Виктор Гольцман - MySQL 5.0. Библиотека программиста

Виктор Гольцман - MySQL 5.0. Библиотека программиста

На нашем сайте KnigaRead.com Вы можете абсолютно бесплатно читать книгу онлайн Виктор Гольцман, "MySQL 5.0. Библиотека программиста" бесплатно, без регистрации.
Перейти на страницу:

//Предлагаем клиенту вернуться к заполнению формы

if(empty($phone) or ($phone == «(495)»))

{

print “<h3>Пожалуйста, введите номер телефона</h3>”;

print “<input type='button' value='Вернуться к редактированию данных'

onClick='history.go(-1)'”;

}

//Если номер телефона введен, продолжаем обработку данных

else

{

//Получаем из формы имя и адрес клиента

$name=$_POST[«CustomerName»];

$address=$_POST[«CustomerAddress»];

//Соединяемся с сервером MySQL

$connection = mysql_connect(«localhost»,»username»,»userpassword»);

if(!$connection) die(“Ошибка доступа к базе данных.

Приносим свои извинения”);

//Выбираем базу данных SalesDept (Отдел продаж)

//В случае ошибки формируем сообщение, записываем его в файл

//и отправляем по электронной почте

if(!mysql_select_db(“SalesDept”))

{

$err_message=date(«Y.m.d H:i:s»).»

«.mysql_errno().» «.mysql_error().»rn»;

error_log($err_message,3,»/mysqlerror.log»);

error_log($err_message,1,» [email protected]»);

die(“Ошибка доступа к базе данных. Приносим свои извинения”);

}

//Устанавливаем кодировку CP-1251

mysql_query(«SET NAMES cp1251»);

//Записываем данные о заказчике в таблицу Customers (Клиенты)

$qresult = mysql_query(«INSERT INTO Customers (name,phone,address)

VALUES

('».mysql_real_escape_string($name).»',

'».mysql_real_escape_string($phone).»',

'».mysql_real_escape_string($address).»')»);

//Проверяем результат выполнения команды; в случае ошибки формируем //

сообщение, записываем его в файл и отправляем по электронной почте

if(!$qresult)

{

$err_message=date(«Y.m.d H:i:s»).»

«.mysql_errno().» «.mysql_error().»rn»;

error_log($err_message,3,»/mysqlerror.log»);

error_log($err_message,1,» [email protected]»);

die(“Ошибка при сохранении данных. Приносим свои извинения”);

}

print “<h3>Поздравляем! Регистрация завершена успешно</h3>”;

}

?>

</body>

</html>

На этом мы завершаем изучение PHP-функций, позволяющих организовать обмен данными с MySQL. В завершение кратко обобщим изложенные выше сведения.

Итоги

В разделе 4.1 «Интерфейс с PHP» вы познакомились с примерами PHP-приложений, использующих базу данных MySQL. Все они имеют сходную структуру:

• подключение к серверу MySQL;

• выбор базы данных;

• установка кодировки;

• выполнение SQL-команды (ввод, изменение или получение данных);

• обработка ошибки.

При этом мы рассмотрели только самые необходимые для взаимодействия с MySQL функции языка PHP. Полный список этих функций вы можете найти в Руководстве по PHP на странице http://www.php.net/manual/ru/ref.mysql.php.

В следующем разделе мы поговорим о том, как взаимодействуют с базой данных веб-приложения на языке Perl.

4.2. Интерфейс с Perl

В этом разделе мы рассмотрим процесс создания веб-приложения на языке Perl, выполняющего получение информации из базы данных и запись ее в базу.

Выбор платформы для развертывания Perl-приложения аналогичен выбору платформы для PHP-приложения: вы можете воспользоваться хостингом с поддержкой Perl и MySQL либо установить на своем компьютере веб-сервер Apache и интерпретатор языка Perl. При этом все замечания и рекомендации из подраздела «Выбор платформы» остаются в силе.

В последующих примерах мы будем использовать пакет XAMPP, установку которого мы описывали в подразделе «Установка пакета XAMPP». Кроме того, нам потребуются дополнительные модули Perl DBI (Database Interface – интерфейс к базе данных) и Perl CGI (Common Gateway Interface – стандартный интерфейс между сценарием и веб-сервером). Об их установке вы узнаете из следующего подраздела.

Установка дополнительных модулей Perl

Чтобы установить модули Perl DBI и Perl CGI, выполните следующие действия.

1. Скачайте дистрибутив пакета Perl Add-Ons. Для этого на веб-странице http://www.apachefriends.org/en/xampp-windows.html найдите раздел XAMPP for Windows Add-Ons и в подразделе Perl щелкните на ссылке Installer.

2. После загрузки файла xampp-win32-perl-addon-xxx-xxx-installer. exe запустите его, дважды щелкнув на его значке.

3. Выберите язык установки Russian (рис. 4.15) и нажмите кнопку OK.

Рис. 4.15. Выбор языка установки

4. В начальном окне мастера установки (рис. 4.16) нажмите кнопку Далее.

Рис. 4.16. Начальное окно мастера установки

5. В окне выбора папки установки (рис. 4.17) по умолчанию предлагается корневая папка XAMPP. Ничего не меняя, нажмите кнопку Далее.

Рис. 4.17. Выбор папки установки

6. После окончания установки нажмите кнопку Готово (рис. 4.18).

Рис. 4.18. Завершение установки

Итак, дополнительные модули Perl установлены. Теперь мы можем приступить к созданию приложений Perl.

Тестирование Perl

Чтобы проверить корректность функционирования интерпретатора Perl, создайте простейшее Perl-приложение. Для этого выполните следующие действия.

1. Запустите стандартную программу Windows Блокнот (Пуск → Все программы → Стандартные → Блокнот).

2. В окне программы Блокнот введите следующий код (рис. 4.19):

#!»C:Program Filesxamppperlbinperl.exe»

print «Content-type: text/html; charset=windows-1251nn»;

print “Работа с MySQL”;

Рис. 4.19. Простейшее Perl-приложение...

Внимание!

В первой строке любого сценария Perl после символов #! необходимо указать путь к интерпретатору Perl: «<Путь к корневой папке XAMPP>perlbinperl.exe». Вывод текста или HTML-кода нужно предварять строкой print «Content-type: text/html; charsert = windows-1251nn»;, которая указывает тип выводимой информации.

3. Для сохранения файла нажмите комбинацию клавиш Ctrl+S. В стандартном окне Windows Сохранить как откройте корневую папку XAMPP, а в ней – папку cgi-bin. Введите имя файла: test.pl и нажмите кнопку Сохранить.

4. Запустите Internet Explorer (Пуск → Все программы → Internet Explorer) или любой другой браузер. В адресной строке браузера введите следующий адрес: http:// localhost/cgi-bin/test.pl. Появление текста «Работа с MySQL» (рис. 4.20) на вебстранице означает, что Perl-приложения выполняются нормально.

Рис. 4.20. Результат выполнения приложения

Аналогичная последовательность действий используется для создания всех последующих сценариев Perl в данном разделе. Приступим к разработке приложения, взаимодействующего с базой данных MySQL.

Подключение к базе данных

Прежде чем использовать команду подключения к базе данных MySQL, укажем интерпретатору Perl, что необходимо использовать модуль Perl DBI. Для этого включим в сценарий команду

use DBI;

Для подключения к базе данных используется метод

connect(«DBI:mysql:database=<Имя базы данных>;host=<Имя

хоста>[;port=<Номер порта>]»,»Имя

пользователя»,»Пароль»[,<Режим обработки ошибок>]);

Метод connect() создает соединение с базой данных и возвращает дескриптор соединения – указатель на объект, отвечающий за взаимодействие с базой данных и реализующий все методы работы с БД. Если установить соединение не удалось, метод connect() возвращает значение undef.

...

Примечание

Необязательный параметр port по умолчанию принимает значение 3306. Режим обработки ошибок мы обсудим в подразделе «Обработка ошибок».

Например, вызов метода my $dbh = DBI —»

my $dbh = DBI ->

connect(«DBI:mysql:database=SalesDept;host=localhost»,

“username”,”userpassword”);

осуществляет подключение к серверу MySQL, работающему на локальном компьютере, используя имя пользователя username и пароль userpassword. При этом база данных SalesDept выбирается в качестве текущей. Дескриптор соединения сохраняется в переменной $dbh.

...

Совет

В целях защиты от несанкционированного доступа рекомендуется подключаться к базе данных не от имени пользователя root, а от имени специально созданного пользователя с минимально необходимыми правами доступа. О регистрации пользователей и настройке прав далее будет рассказано подробно.

После окончания работы с базой данных отключимся от нее с помощью метода disconnect();

Рассмотрим пример приложения, которое подключается к базе данных и выводит диагностическое сообщение. Создайте в папке cgi-bin корневой папки XAMPP файл connect.pl и введите в него код, представленный в листинге 4.10.

Листинг 4.10.

Подключение к базе данных

#!»C:Program Filesxamppperlbinperl.exe»

print «Content-type: text/html; charset=windows-1251nn»;

#Подключаем модуль DBI

use DBI;

#Подсоединяемся к базе данных

my $dbh = DBI -> connect(“DBI:mysql:database=SalesDept;host=localhost”,

Перейти на страницу:
Прокомментировать
Подтвердите что вы не робот:*