Лекция 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 |


