
- •Хранение и получение данных из файлов и базы данных mysql с помощью языка рнр методические указания
- •Содержание
- •Цель работы
- •1 Общие положения
- •1.1 Сохранение данных с целью дальнейшего использования
- •1.2 Основные операции с файлами
- •Создание файла
- •Resource fopen ( имя_файла, тип_доступа [, use_include_path])
- •Закрытие соединения с файлом
- •Fclose (указатель на файл)
- •Запись данных в файл
- •Int fwrite ( указатель на файл, строка [, длина])
- •Чтение данных из файла
- •Int readfile ( имя_файла [, use_include_path])
- •Array file ( имя_файла [, use_include_path])
- •Проверка существования файла
- •Bool is_readable (имя файла)
- •Удаление файла
- •Bool unlink (имя_файла)
- •1.3 Работа с базой данных MySql
- •1.4 Язык sql
- •Имя_столбца тип [not null] [default значение_по_умолчанию] [auto_increment] [primary key]
- •Drop table имя_таблицы [, имя_таблицы, ...]
- •Insert into имя_таблицы [(имя_столбца,...)] values (выражение,...);
- •Insert into имя_таблицы [(имя_столбца,...)] select . . .
- •1.5 Взаимодействие php и MySql
- •Логическое mysql_select_db (строка database_name)
- •Ресурс mysql_list_fields(строка database_name, строка table_name [,ресурс link_identifier] )
- •Ресурс mysql_query ( строка query [, ресурс link_identifier])
- •2 Задание
- •2.1 Работа с файлами
- •2.2 Работа с массивами
- •2.3 Работа с базой данных MySql
- •3 Требования к отчету
- •4 Контрольные вопросы
1.5 Взаимодействие php и MySql
Разобьем задачу построения интерфейса для добавления информации в таблицу на следующие подзадачи:
• Установка соединения с БД.
Для установки соединения с базой данных можно воспользоваться функцией mysql_connect. Синтаксис mysql_connect
ресурс mysql_connect ( [строка server [, строка username [, строка password ]]]])
Данная функция устанавливает соединение с сервером MySql и возвращает указатель на это соединение или FALSE в случае неудачи.
• Выбор рабочей БД.
В РНР для этого существует функция mysql_select_db. Синтаксис mysql_select_db:
Логическое mysql_select_db (строка database_name)
Эта функция возвращает TRUE в случае успешного выбора базы данных и FALSE — в противном случае.
• Получение списка полей таблицы.
Для получения списка полей таблицы в РНР есть команда — mysql_list_fields. Синтаксис mysql_list_fields:
Ресурс mysql_list_fields(строка database_name, строка table_name [,ресурс link_identifier] )
Эта функция возвращает список полей в таблице table_name в базе данных database_name. Результат работы этой функции — переменная типа ресурс. Это ссылка, которую можно использовать для получения информации о полях таблицы, включая их названия, типы и флаги. Чтобы получить из этой таблицы конкретные значения, нужно задействовать специальные функции, которые построчно читают эту таблицу. К таким функциям и относятся:
Функция mysql_field_name (ресурс result, целое field_offset) - возвращает имя поля, полученного в результате выполнения запроса;
Функция mysql_field_type (ресурс result, целое field_offset) - возвращает тип поля;
Функция mysql_field_flags (ресурс result, целое field_offset) - возвращает список флагов поля, записанных через пробел;
Функция mysql_field_len (ресурс result, целое field_offset)- возвращает длину поля;
Функция mysql_num_rows(ресурс result) - возвращает число строк во множестве результатов.
Здесь result — это идентификатор результата запроса, a field_offset — порядковый номер поля в результате.
• Запись данных и выполнение запросов к БД.
Для того чтобы записать данные в таблицу, используется команда INSERT языка SQL. Для использования такой команды (или любой другой командой SQL) в РНР скрипте этого существует функция mysql_guery(). Синтаксис mysql_query
Ресурс mysql_query ( строка query [, ресурс link_identifier])
Мysql_query() посылает SQL-запрос активной базе данных MySQL сервера, который определяется с помощью указателя link_identifier.
• Обработка результатов запроса.
Для отображения данных результата запроса требуется отправить запрос на выбор всех полей, а результат вывести в браузере. Если запрос с помощью функции mysql_query() успешно выполнился, то в результате клиент получает набор записей, который может быть обработан следующими функциями:
mysql_result() — получить нужный элемент из набора записей. Синтаксис:
смешанное mysql_result (ресурс result, целое row [,смешанное field]);
mysql_fetch_array() — занести запись в массив. Синтаксис:
массив mysql_fetch_array (ресурс result [, целое result_type]).
Перед тем как начинать разбор полученного результата, обычно бывает необходимо определить количество содержащихся в нем записей и полей. Функция mysql_num_rows() позволяет узнать, сколько записей содержит наш результат. Запись состоит из полей. Узнать, сколько полей содержит каждая запись результата, позволяет функция mysql_num_fields().