Цель работы:Получение практических навыков по связке MySQL и PHP.
В заданиях данной темы используется база данных BOOKS, схема которой представлена на рис. 3.171, создание таблиц осуществлено с помощью SQL-сценария показанного на рис. 3.174. Вы узнаете, как используя PHP читать базу и вносить в нее данные, и как фильтровать потенциально опасные входные данные.
В теме рассматриваются следующие вопросы:
§ Как работает архитектура Web-баз данных
§ Основные шаги выполнения запросов к базе данных через Web
§ Установка соединения
§ Получение информации о доступных базах данных
§ Выбор базы данных
§ Выполнение запроса к базе данных
§ Получение результатов запроса
§ Отсоединение от базы данных
§ Внесение новой информации в базу данных
§ Обеспечение безопасности базы данных
§ Прочие полезные функции PHP-MySQL
Задание 1. Изучение работы архитектуры Web-баз данных
Ранее мы в общих чертах выяснили, как работает архитектура Web-баз данных. Алгоритм работы содержит следующие шаги:
1. Web-браузер пользователя выдает HTTP-запрос определенной Web-страницы. Например, пользователь ищет в таблице BOOKS, все книги, используя HTML-форму (рис. 3.266), исходный код HTML файла Lab15_00.php (рис. 3.267). Страница с результатами поиска будет называться Lab15_01.php (обработчик формы).
2. Web-сервер принимает запрос на Lab15_01.php, извлекает этот файл и передает на обработку механизму РНР.
3. Механизм РНР приступает к разбору сценария. Сценарий содержит команду соединения с базой данных и выполнения запроса (поиска книг). РНР открывает соединение с MySQL-сервером и отправляет соответствующий запрос.
4. Сервер MySQL принимает запрос к базе данных, обрабатывает его и отправляет результат (список книг) обратно механизму РНР.
5. Механизм РНР завершает выполнение сценария, что обычно включает в себя форматирование результатов запроса в HTML файл. После этого результат в виде HTML возвращается Web-серверу.
6. Web-сервер пересылает HTML в браузер, и пользователь имеет возможность просмотреть запрошенный список книг.
База данных MySQL с именем BOOKS создана в предыдущей лабораторной работе, поэтому создадим поисковую HTML форму и подготовим код РНР для обработки формы, чтобы проиллюстрировать шаги алгоритма работы архитектуры Web-баз данных.
Начнем с поисковой HTML формы (рис. 3.266). Код для этой формы показан на рис. 3.267 (http://localhost/php/lab15_00.php).
Поисковая страница для базы данных BOOKS:
Рис. 3.266. Начальное содержимое формы (а) и форма с информацией (б).
Рис. 3.267. Листинг Lab15_00.php HTML формы для рис. 3.266.
После того как пользователь нажмет на кнопке , вызывается сценарий Lab15_01.php. Все это представлено в листинге (рис. 3.268). Здесь мы рассмотрим, что делает упомянутый сценарий и как он работает.
Рис. 3.268. Листинг сценария обработчика Lab15_01.php формы для рис. 3.266.
Lab15_01.php - извлекает результаты запроса в базе данных MySQL и форматирует их для целей отображения.
Если в форму будет введена информация, как показано на рис. 3.266 (б), то результат показан на рис. 3.269.
Рис. 3.269. Результат вывода на экран обработчика Lab15_01.php
Если пользователь в качестве аргумента поиска укажет символ “М” (рис. 3.270), то результат показан на рис. 3.271.
Рис. 3.270. Исходные данные для обработчика Lab15_01.php
Рис. 3.271. Результат вывода на экран обработчика Lab15_01.php