Установка соединения с требуемой базой данных.

РИСУНОК 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().