
- •Установка и настройка по
- •Установка Apache 1.3.29 под Windows xp
- •Установка php 4.3.4 под Windows
- •Дистрибутив Денвер
- •Первая php-программа
- •Синтаксис
- •Переменные, константы и операторы
- •Переменные
- •Константы
- •Типы данных
- •Тип boolean (булев или логический тип)
- •Тип integer (целые)
- •Тип float (числа с плавающей точкой)
- •Тип string (строки)
- •Одинарные кавычки
- •Двойные кавычки
- •Heredoc
- •Тип array (массив)
- •Определение при помощи array()
- •Определение с помощью синтаксиса квадратных скобок
- •Управляющие конструкции Условные операторы Оператор if
- •Оператор else
- •Оператор elseif
- •Do... While
- •Foreach
- •Операторы передачи управления
- •Continue
- •Операторы включения
- •Include
- •Require
- •Обработка запросов с помощью php
- •Протокол http и способы передачи данных на сервер
- •Форма запроса клиента
- •Использование html-форм для передачи данных на сервер
- •Для метода get
- •Для метода post
- •Обработка запросов с помощью php
- •Пример обработки запроса с помощью php
- •Заключение
- •Функции в php
- •Аргументы функций
- •Списки аргументов переменной длины
- •Возвращаемые значения
- •Возвращение ссылки
- •Переменные функции
- •Объекты и классы в php
- •Инициализация переменных
- •Объекты
- •Наследование extends
- •Конструкторы
- •Оператор ::
- •Оператор parent
- •Объектная модель php5
- •Решение задачи
- •Заключение
- •Функция in_array
- •Функция array_search
- •Функция array_keys
- •Функция array_unique
- •Сортировка массива по ключам
- •Сортировка с помощью функции, заданной пользователем
- •Работа со строками
- •Выделение подстроки Функция strstr
- •Функция substr
- •Функция substr_replace
- •Проверка существования файла
- •Функция file_exists
- •Функция is_writable
- •Функция is_readable
- •Базы данных и субд. Введение в sql
- •Взаимодействие php и MySql
- •Выбор базы данных
- •Получение списка полей таблицы
- •Отображение списка полей в html-форму
- •Авторизация доступа с помощью сессий
- •Регулярные выражения
- •Взаимодействие php и xml
- •Обход дерева объектов
- •Добавление новых элементов в xml-документ
- •Заключение
- •Использование шаблонов в php
Взаимодействие php и MySql
Лекция предназначена для знакомства со способами взаимодействия PHP и СУБД MySql. Основное внимание уделяется установке соединения с базой данных, функциям отправки запросов и обработке ответов (mysql_connect, mysql_query, mysql_result, mysql_num_rows, mysql_close). Пример - создание web -интерфейса для администрирования базы данных виртуального музея истории. |
|
|
|
В дистрибутив PHP входит расширение, содержащее встроенные функции для работы с базой данных MySQL. В этой лекции мы познакомимся с некоторыми основными функциями для работы сMySQL, которые потребуются для решения задач построения web-интерфейсов с целью отображения и наполнения базы данных. Возникает вопрос, зачем строить такие интерфейсы? Для того чтобы вносить информацию в базу данных и просматривать ее содержимое могли люди, не знакомые с языком запросов SQL. При работе с web-интерфейсом для добавления информации в базу данных человеку нужно просто ввести эти данные вhtml-формуи отправить их на сервер, а наш скрипт сделает все остальное. А для просмотра содержимого таблиц достаточно просто щелкнуть по ссылке и зайти на нужную страницу. Для наглядности будем строить эти интерфейсы для таблицы Artifacts, в которой содержится информация об экспонатах виртуального музея информатики. В предыдущей лекции мы уже приводили структуру этой коллекции, а также ее связи с коллекциями описания персон (Persons) и изображений (Images). Напомним, что каждый экспонат в коллекции Artifacts описывается с помощью следующих характеристик:
Название и альтернативное название являются строками менее чем 255 символов длиной (т.е. имеют тип VARCHAR(255)), описание - текстовое поле (имеет тип TEXT), а в полях "автор" и "изображение" содержатся идентификаторы автора из коллекции Persons и изображения экспоната из коллекции Images соответственно. Построение интерфейса для добавления информации Итак, у нас есть какая-то таблица в базе данных. Чтобы построить интерфейс для добавления информации в эту таблицу, нужно ее структуру (т.е. набор ее полей) отобразить в html-форму. Разобьем эту задачу на следующие подзадачи:
После этого данные, введенные в форму, нужно записать в базу данных. Рассмотрим все эти задачи по порядку. Установка соединения Итак, первое, что нужно сделать, - это установить соединение с базой данных. Воспользуемся функцией mysql_connect. Синтаксис mysql_connect ресурс mysql_connect ( [строка server [, строка username [, строка password [, логическое new_link [, целое client_flags]]]]]) Данная функция устанавливает соединение с сервером MySQLи возвращает указатель на это соединение илиFALSEв случае неудачи. Для отсутствующих параметров устанавливаются следующие значения по умолчанию: server = 'localhost:3306' username = имя пользователя владельца процесса сервера password = пустой пароль Если функция вызывается дважды с одними и теми же параметрами, то новое соединение не устанавливается, а возвращается ссылка на старое соединение. Чтобы этого избежать, используют параметр new_link, который заставляет в любом случае открыть еще одно соединение. Параметр client_flags- это комбинация следующих констант:MYSQL_CLIENT_COMPRESS(использовать протокол сжатия),MYSQL_CLIENT_IGNORE_SPACE(позволяет вставлять пробелы после имен функций),MYSQL_CLIENT_INTERACTIVE(ждатьinteractive_timeoutсекунд - вместоwait_timeout- до закрытия соединения). Параметр new_linkпоявился в PHP 4.2.0, а параметрclient_flags- в PHP 4.3.0. Соединение с сервером закрывается при завершении исполнения скрипта, если оно до этого не было закрыто с помощью функции mysql_close(). Итак, устанавливаем соединение с базой данных на локальном сервере для пользователя ninaс паролем"123": <? $conn = mysql_connect( "localhost", "nina","123") or die("Невозможно установить соединение: ". mysql_error()); echo "Соединение установлено"; mysql_close($conn); ?> Действие mysql_connectравносильно команде
shell>mysql -u nina -p123 |
|
|