Установка соединения с требуемой базой данных.
РИСУНОК 1
Отношение типа клиент-сервер между Web-браузером и Web-сервером.
Архитектура Web-системы, включающая в себя базу данных:
РИСУНОК 2
Базовая архитектура Web-баз данных включает в себя Web-браузер, Web-cepeep, сценарный механизм и сервер баз данных.
Типичная транзакция Web-базы данных состоит из этапов, обозначенных цифрами на рис.2. Мы рассмотрим их на примере магазина "Book-O-Rama".
1. Web-браузер пользователя отправляет HTTP-запрос определенной Web-страницы. Например, поиск в магазине "Book-O-Rama" всех книг, написанных Лорой Томсон (Laura Thomson), используя HTML-форму. Страница с результатами поиска называется results.php.
Web-сервер принимает запрос на results.php, извлекает этот файл и передает на обработку механизму РНР.
3. Механизм РНР начинает синтаксический анализ сценария. В сценарии присутствует команда подключения к базе данных и выполнения запроса в ней (поиск книг). РНР открывает соединение с сервером MySQL и отправляет необходимый запрос.
4. Сервер MySQL принимает запрос в базу данных, обрабатывает его, а затем отправляет результаты — в данном случае, список книг — обратно в механизм РНР.
5. Механизм РНР завершает выполнение сценария, форматируя результаты запроса в виде HTML, после чего отправляет результаты в HTML-формате Web-серверу.
6. Web-сервер пересылает HTML в браузер, с помощью которого пользователь просматривает список необходимых книг.
Шаг 1: Поисковая форма
<html> <head> <title>Book-O-Rama Catalog Search</title> </head> <body> <h1>Book-O-Rama Catalog Search</h1> <form action="results.php" method="post"> Choose Search Type:<br> <select name="searchtype"> <option value="author">Author <option value="title">Title <option value="isbn">ISBN </select> <br> Enter Search Term:<br> <input name="searchterm" type=text> <br> <input type=submit value="Search"> </form> </body> </html> |
Шаги выполнения сценария
В любом сценарии, который обеспечивает доступ к базе данных из Web, имеется несколько базовых шагов:
1. Проверка и фильтрация данных, исходящих от пользователя.
2. Установка соединения с требуемой базой данных.
3. Передача запроса в базу данных.
4. Получение результатов.
5. Представление результатов пользователю.
1. Удаляются пробелы по краям слова: trim($searchterm);
Проверка, что пользователь указал критерий и тип поиска.
if (!$searchtype | | !$searchterm)
{
echo "Не указаны параметры поиска " ;
Exit;
}
Установка соединения с требуемой базой данных.
Для подключения к серверу баз данных используется функция mysql_pconnect()со сле-
дующим прототипом:
int mysql_pconnect ( [string host [.-port] [:/socketpath] ] ,
[string user] , [string password] ) ;
В случае успеха функция вернет идентификатор связи с СУБД (который следует сохранить для дальнейшего использования), а в случае неудачи — значение false.
$db = mysql_pconnect("localhost", "bookorama", "pass_bookorama");
if (!$db)
{
echo "Error: Could not connect to database. Please try again later.";
Exit;
>
соединение с СУБД закрывается, когда сценарий завершает свое выполнение или когда обращается к функции mysql_close().(для mysql_connect(), но не для mysql_pconnect())
Для выбора базы данных используется функция:
int mysql_select_db (string database, [intdatabase_connection] ) ;
Например для подключения к БД books:
mysql_select_db ("books") ;
Можно также использовать соединение с СУБД, для которого требуется выполнить эту операцию (в нашем случае $db),однако, если его не указать, будет использоваться последнее открытое соединение. Если открытое соединение не существует, оно открывается по умолчанию, как если бы вызывалась mysql_connect().