Лекция 9 Поддержка баз данных в PHP

1. Поддержка баз данных в РНР.

2.Установка соединения с сервером БД

3. Выбор БД

4.Выполнение запросов к БД

5. Получение и обработка результатов запроса.

6.Отсоединение от БД

7. Освобождение ресурсов.

1. Поддержка баз данных в РНР.

В РНР реализована мощная поддержка практически всех серверов баз данных, в том числе:

Dbase, Emopress, Informix, InterBase, MySQL, MS SQL Server, PostgreSQL, Sybase, UNIX dbm и др.

Поддержка базы данных в РНР представлена набором стандартных функций для соединения с базой, обработки запроса и разрыва связи.

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

Рассмотрим основные этапы взаимодействия РНР с базой данных на примере MySQL .

1.1. Установить соединение с сервером MySQL. Если попытка завершается неудачей, вывести соответствующее сообщение и завершить процесс.

1.2. Выбрать базу данных сервера MySQL. Если попытка выбора завершится неудачей, вывести соответствующее сообщение и завершить процесс.

1.3. Обработать запросы к выбранной базе данных.

1.4. После завершения обработки запросов закрыть соединение с сервером баз данных.

2.Установка соединения с сервером БД

Функция mysql_connect() устанавливает связь с сервером баз данных.

Синтаксис функции

int mysql_connect(string host, string user_name, string password)

Пример.

@mysql_connect(“doc200”, “login”, “pwd”)

or die (“Нет подключения к серверу!”);

НЕ нашли? Не то? Что вы ищете?

3. Выбор БД

После успешного соединения с MySQL необходимо выбрать базу данных с помощью функции mysql_select_db().

Синтаксис функции

int mysql_select_db(string dbname, int link)

Пример.

@mysql_connect(“doc200”, “login”, “pwd”)

or die (“Нет подключения к серверу!”);

@mysql_select_db(“id”, “pwd”)

or die (“База данных не может быть выбрана!”);

4.Выполнение запросов к БД

Функция mysql_query() обеспечивает интерфейс для обращения с запросами к базам данных.

Синтаксис функции

int mysql_query(string query, int link)

В зависимости от типа запроса вызов функции mysql_query() может приводить к различным последствиям. При успешном выполнении команды SELECT возвращается идентификатор результата, который впоследствии передается функции mysql_result() для последующего форматирования и отображения результатов запроса.

5. Получение и обработка результатов запроса

Функция mysql_result() используется в сочетании с mysql_query() для получения набора данных.

Синтаксис функции

int mysql_result(int result, int record)

Пример.

@mysql_connect(“doc200”, “login”, “pwd”)

or die (“Нет подключения к серверу!”);

@mysql_select_db(“id”, “pwd”)

or die (“База данных не может быть выбрана!”);

$query =”SELECT Name FROM User”;

$result= mysql_query($query);

$i=0;

while ($i<mysql_num_rows($result))

{ print mysql_result($result, $i).”<br>”;

$i++;

}

6.Отсоединение от БД

После завершения работы с сервером баз данных соединение нужно закрыть.

Синтаксис функции

int mysql_close(int link)

Пример.

@mysql_connect(“doc200”, “login”, “pwd”)

or die (“Нет подключения к серверу!”);

@mysql_select_db(“id”, “pwd”)

or die (“База данных не может быть выбрана!”);

$query =”SELECT Name FROM User”;

$result= mysql_query($query);

$i=0;

while ($i<mysql_num_rows($result))

{ print mysql_result($result, $i).”<br>”;

$i++;

}

mysql_close();

7. Освобождение ресурсов

Функция mysql_free_result () освобождает всю память, связанную с конкретным запросом.

Синтаксис функции

int mysql_free_result (int result)

3  План самостоятельной работы студентов

Содержание самостоятельной работы

Кол-во часов

Форма контроля

О

З

С

1

Типы данных в РНР

10

10

10

Отчет

2

Регулярные выражения в РНР

10

10

10

Отчет

3

Инициализационный файл РНР

20

20

20

Отчет

4

Суперглобальные переменные

20

20

20

Отчет

5

Учебный проект «Персональная страница»

34

54

54

Отчет

6

Работа с СУБД MySQL. Решение типовых задач

-

22

26

Отчет

4  Контрольные работы (только для ЗО).

4.1  Методические рекомендации по выполнению и оформлению контрольных работ;

4.2  Перечень рекомендуемой литературы;

4.3  Темы (варианты) контрольных работ.

Не предусмотрены учебным планом

5  Курсовые работы (учебные проекты)

5.1  Тематика;

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

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

5.2  Методические рекомендации по выполнению;

Шаг 1. Проектирование интерфейса приложения

Шаг 2. Проектирование базы данных

Шаг 3. Проектирование структуры каталогов

Шаг 4. Реализация основных скриптов

Шаг 5.Тестирование приложения

5.3  Указания по оформлению;

Работа должна иметь следующую структуру:

Введение

1. Проектирование интерфейса приложения

2. Проектирование базы данных

3. Проектирование структуры каталогов

4.Примеры основных скриптов

5.Методика тестирования приложения

Заключение

К работе должна прилагаться дискета или CD-диск, содержащий материалы разработанного сайта в форме, пригодной для демонстрации.

5.4  Перечень рекомендуемой литературы.

, , . Высокоуровневые методы информатики и программирования. Андреевский Издательский дом, 2008, 228 с.

Разработка Web - приложений с помощью PHP и MySQL: пособие / Л. Веллинг, Л. Томсон - Москва : Питер, 20c.

Разработка Web - приложений с помощью PHP и MySQL : пособие / Л. Веллинг, Л. Томсон - Москва : Питер, 20c.

6  Модули (только для дневного обучения).

Не предусмотрены

7  Контроль

7.1  Структура и бальная оценка каждого рейтинга

Рейтинг 1

5 баллов – посещаемость

10 баллов –тест

35 баллов –практические работы

Рейтинг 2

5 баллов – посещаемость

10 баллов –тест

35 баллов –практические работы

7.2  Тестовые задания:

Вопрос 1.Все формы начинаются тэгом _____________.

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

Вопрос 3.Тэг ______________используется для того, чтобы позволить пользователю вводить более одной строки информации.

Вопрос 4.Атрибут формы _______________ описывает URL, который будет вызываться для обработки формы.

Вопрос 5.Атрибут формы ______________ определяет метод посылки сообщения с данными из формы.

Вопрос 6.Если в качестве метода посылки сообщения с данными из формы указан _______________, то информация из формы добавляется в конец URL, который был указан в описании заголовка формы.

Вопрос 7.Если в качестве метода посылки сообщения с данными из формы указан _______________, то информация из формы передается после обращения к указанному URL в теле запроса.

Вопрос 8.Тэг __________используется для ввода одной строки текста или одного слова.

Вопрос 9.Тип поля ввода тэга <INPUT> ____________ позволяет связывать графический рисунок с именем поля.

Вопрос 10.Поля тэга <INPUT> типа _________не отображаются браузером и не дают пользователю изменять присвоенные данному полю по умолчанию значение.

Вопрос 11.Атрибут тэга <INPUT> ___________определяет тип поля ввода.

Вопрос 12.Тип поля ввода тэга <INPUT> ___________ позволяет вводить одно значение из нескольких альтернатив.

Впрос 13.Тип поля ввода тэга <INPUT> ___________обозначает кнопку, при нажатии которой все поля формы примут значения, описанные для них по умолчанию.

Вопрос 14.Атрибут тэга <INPUT> ___________определяет имя поля ввода.

Вопрос 15.Атрибут тэга <INPUT> ___________определяет визуальный размер поля ввода на экране в символах.

Вопрос 16. Какой из атрибутов тэга <INPUT> присваивает полю значение по умолчанию:

SIZE NAME VALUE MAXLENGTH CHECKED TYPE SRC

Вопрос 17.

Какой из атрибутов тэга <INPUT> означает, что CHECKBOX или RADIOBUTTON будет выбран:

SIZE NAME VALUE MAXLENGTH CHECKED TYPE SRC

Вопрос 18. Какой из атрибутов тэга <INPUT> определяет количество символов, которое пользователи могут ввести в поле ввода:

SIZE NAME VALUE MAXLENGTH CHECKED TYPE SRC

Вопрос 19.Тэг_______________ позволяет пользователю выбрать значение из фиксированного списка значений.

Вопрос 20. Тэг _______________ позволяет пользователю одновременно выбрать более чем один элемент списка.

Вопрос 21. Тэг ______ позволяет пользователю выбрать значение из фиксированного списка значений, при этом на экране пользователь видит одновременно несколько элементов выбора.

Вопрос 22. Скрипты PHP выполняются на ____________, т. е. посетителю WEB-страницы PHP-код не доступен.

Вопрос 23. Инструкции PHP разделяются _________________.

Вопрос 24. Укажите верные утверждения.

Присвоение $a=1; инициализирует константу a.

Присвоение $a=1; инициализирует переменную a.

В результате выполнения инструкций: a=15; b=3; if ($a > $b) print "a is bigger than b"; на станице будет выведено"a is bigger than b".

Вопрос 25. Какие из приведенных фрагментов могут быть блоками PHP-скрипта:

1 <form method="post" action="2.php">

<input type="submit" value=">>">

</form>

2 <form method=\"post\" action=\"2.php\">

<input type=\"submit\" value=\">>\">

</form>

3 print "<table><tr><td>Name</td><tr></table>";

<table><tr><td>Name</td><tr></table>

Вопрос 26. С какой целью используется переменная S в следующем скрипте:

$myform= "<form method=\"post\" action=\"my. html\">

<input type=\"hidden\" name=\"S\" value=\"1\">

Пользователь:<input type=\"text\" name=\"UserName\" value=\"\"><br>

<input type=\"submit\" value=\">>\">

</form>”;

if ($S!= "1") print $myform;

Для проверки - отображалась ли ранее форма

Для передачи значения "1" на страницу my. html

Для проверки – была ли нажата кнопка отправки данных

Для вывода формы на страницу

Для передачи данных о пользователе на страницу my. html

Вопрос 27. В результате выполнения инструкций

$UserName="Иванов";

$Adress="";

print "Пользователь: ".$UserName. "<br>"." Адрес: ".$Adress;

на станице будет выведено:

Пользователь: $UserName. Адрес: $Adress

Пользователь: Иванов. Адрес:

Пользователь: Иванов.

Адрес:

Пользователь: Иванов

Адрес:

Вопрос 28.PHP позволяет определить константы с помощью функции_______________

Вопрос 29.Функция ___________читает файл и записывает его в массив.

Вопрос 30.Функция ___________ открывает файл.

Вопрос 31.Какой из вызовов функции fopen( )открывает файл file. txt для чтения и для записи и помещает указатель на конец файла.

$fp = fopen("/home/rasmus/file. txt", "a");

$fp = fopen("/home/rasmus/file. txt", "a+");

$fp = fopen("/home/rasmus/file. txt", "r");

$fp = fopen("/home/rasmus/file. txt", "r+");

$fp = fopen("/home/rasmus/file. txt", "w");

$fp = fopen("/home/rasmus/file. txt", "w+");

Вопрос 32. Какой из вызовов функции fopen( )открывает файл file. txt только для записи и помещает указатель на конец файла.

$fp = fopen("/home/rasmus/file. txt", "a");

$fp = fopen("/home/rasmus/file. txt", "a+");

$fp = fopen("/home/rasmus/file. txt", "r");

$fp = fopen("/home/rasmus/file. txt", "r+");

$fp = fopen("/home/rasmus/file. txt", "w");

$fp = fopen("/home/rasmus/file. txt", "w+");

Вопрос 33.Какой из вызовов функции fopen( )открывает файл file. txt только для записи указатель на начало файла и очищает все содержимое файла.

$fp = fopen("/home/rasmus/file. txt", "a");

$fp = fopen("/home/rasmus/file. txt", "a+");

$fp = fopen("/home/rasmus/file. txt ", "r");

$fp = fopen("/home/rasmus/file. txt", "r+");

$fp = fopen("/home/rasmus/file. txt", "w");

$fp = fopen("/home/rasmus/file. txt", "w+");

Вопрос 34.Функция ___________ проверяет, существует ли файл с заданным именем.

Вопрос 35.Функция ___________ возвращает размер в байтах файла с указанным именем, или FALSE.

Вопрос 36.Функция ___________ закрывает файл с заданным манипулятором.

Вопрос 37.Функция ___________ записывает содержимое строковой переменной в файл с заданным манипулятором.

Вопрос 38.Функция ___________ считывает из файла, заданного манипулятором, указанное количество байт.

Вопрос 39.Функция ___________ вырезает подстроку из строки.

Вопрос 40.Функция ____________ возвращает форматированное локальное время/дату.

Вопрос 41.Функция ____________ заменяет все вхождения строки на указанную строку.

Вопрос 42.Функция ____________ проверяет, присвоено ли переменной значение.

Вопрос 43.Функция ____________ cоздает массив.

Вопрос 44 Функция ____________ позволяет присвоить значения списку переменных.

8  Контактная информация преподавателя.

e-mail: *****@***ru

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5