Организация доступа к данным из PHP приложений для различных СУБД
Покупка
Тематика:
Общая информатика
Издательство:
Директ-Медиа
Автор:
Шабашов Владимир Яковлевич
Год издания: 2019
Кол-во страниц: 120
Дополнительно
Вид издания:
Учебное пособие
Уровень образования:
ВО - Специалитет
ISBN: 978-5-4475-9888-4
Артикул: 801751.01.99
Учебное пособие содержит теоретические и практические сведения для создания информационных систем в виде PHP приложений, использующих СУБД MySQL, Microsoft SQL Server, Firebird и PostgreSQL. Учебное пособие рассмотрено и одобрено на заседании кафедры информационных систем в экономике ФГБОУ ВО «Алтайский государственный технический университет им. И. И. Ползунова» протокол № 1 от 07.09.2018 г.
Тематика:
ББК:
УДК:
ОКСО:
- 09.00.00: ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА
- Среднее профессиональное образование
- 09.02.03: Программирование в компьютерных системах
ГРНТИ:
Скопировать запись
Фрагмент текстового слоя документа размещен для индексирующих роботов
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ В. Я. Шабашов ОРГАНИЗАЦИЯ ДОСТУПА К ДАННЫМ ИЗ PHP ПРИЛОЖЕНИЙ ДЛЯ РАЗЛИЧНЫХ СУБД Учебное пособие по дисциплине «Web-программирование» Москва Берлин 2019
УДК 004:681.3.06(075) ББК 32.973.4я7 Ш12 Шабашов, В. Я. Ш12 Организация доступа к данным из PHP приложений для различных СУБД : учебное пособие по дисциплине «Webпрограммирование» / В. Я. Шабашов — Москва ; Берлин : Директ-Медиа, 2019. — 120 с. ISBN 978-5-4475-9888-4 Учебное пособие содержит теоретические и практические сведения для создания информационных систем в виде PHP приложений, использующих СУБД MySQL, Microsoft SQL Server, Firebird и PostgreSQL. Учебное пособие рассмотрено и одобрено на заседании кафедры информационных систем в экономике ФГБОУ ВО «Алтайский государственный технический университет им. И. И. Ползунова» протокол № 1 от 07.09.2018 г. Текст приводится в авторской редакции. УДК 004:681.3.06(075) ББК 32.973.4я7 ISBN 978-5-4475-9888-4 © Шабашов В. Я., текст, 2019 © Издательство «Директ-Медиа», оформление, 2019
СОДЕРЖАНИЕ Введение ................................................................................................. 4 1 Установка PHP расширений для работы с СУБД ............................ 5 2 Концепция унифицированных функций для доступа к данным ............................................................................................... 16 3 Доступ к СУБД MYSQL .................................................................. 21 3.1 Функции PHP для работы с СУБД MySQL ............................. 21 3.2 Создание вспомогательных функций для MySQL ................. 28 3.3 Создание функции MyExecNonQuery ...................................... 30 3.4 Создание функции MyExecQuery ............................................. 33 4 Доступ к СУБД Microsoft SQL Server ............................................. 40 4.1 Функции PHP для доступа к Microsoft SQL ............................ 40 4.2 Создание вспомогательных функций для Microsoft SQL ...... 47 4.3 Создание функции MsExecNonQuery ...................................... 48 4.4 Создание функции MsExecQuery ............................................. 52 5 Доступ к СУБД Firebird.................................................................... 59 5.1 Функции PHP для доступа к Firebird ....................................... 59 5.3 Создание функции FbExecNonQuery ....................................... 65 5.4 Создание функции FbExecQuery .............................................. 69 6 Доступ к СУБД PostreSQL ............................................................... 75 6.1 Функции PHP для доступа к PostreSQL ................................... 75 6.2 Создание вспомогательных функций для PostreSQL ............. 80 6.3 Создание функции PgExecNonQuery ....................................... 81 6.4 Создание функции PgExecQuery .............................................. 84 Список литературы .............................................................................. 90 Приложение 1 "Листинг функций для MySQL" ............................... 91 Приложение 2 "Листинг функций для Microsoft SQL Server " ........ 97 Приложение 3 "Листинг функций для Firebird" ............................. 105 Приложение 4 "Листинг функций для PostgreSQL" ....................... 113 3
ВВЕДЕНИЕ В настоящее время информационные системы, используемые в экономике и бизнесе, все чаще строятся в виде Web приложений. В нашей стране для создания таких систем довольно широко используются технологии основанные на PHP. Одной из причин широкого применения PHP является то, что PHP обеспечивает возможность работы с самыми различными СУБД. В данной работе рассмотрена организация доступа к данным из приложений PHP на примере четырех СУБД: Microsoft SQL Server Express, MySQL Community, PostgreSQL и Firebird. Предложены функции, упрощающие создание информационных систем. Рассмотрен поэтапный процесс их разработки. В приложениях приведены листинги этих функций. Эти функции можно использовать непосредственно при разработке информационных систем, а также использовать как учебное пособие для разработки собственных средств для работы с базами данных. Выбор перечня СУБД, рассматриваемых в данной работе, определяется их широким распространением и возможностью их бесплатного применения. Правда СУБД MySQL и Microsoft SQL Server являются проприетарными, но они имеют версии Community и Express, которые дают возможность их использовать для изучения и некоммерческого применения. 4
УСТАНОВКА PHP РАСШИРЕНИЙ ДЛЯ РАБОТЫ С СУБД На официальном сайте PHP http://php.net/manual/ru/refs. database.php можно увидеть, что имеются расширения практически для всех наиболее распространенных СУБД (рис. 1.1). Рис. 1.1 — Расширения для работы с СУБД Эти расширения разработаны различными производителями и имеют свои особенности для каждой конкретной СУБД. Различия между ними определяются также конструктивными возможностями СУБД и языком инструкций для каждой из них. Перед их использованием для разработки приложений необходимо настроить PHP таким образом, чтобы можно было выполнять действия с требуемыми СУБД. Рассмотрим, как это выполняется. Скачав PHP с сайта http://php.net/downloads.php, можно увидеть, что в папке ext имеется расширения для работы со многими СУБД: 5
Для работы с интересующими нас СУБД имеются следующие расширения: • php_interbase.dll для Firebird, • php_mysqli.dll для MySQL, • php_pgsql.dll для PostgreSQL. Кроме вышеперечисленных имеются еще и PDO расширения, например, php_pdo_mysql.dll. Драйверы PDO мы рассматривать не будем — они обеспечивают универсальный механизм доступа для всех СУБД, но при этом падает производительность и нет возможности воспользоваться достоинствами каждой конкретной системы управления базами данных. Для СУБД Microsoft SQL Server расширения здесь отсутствуют, но их можно скачать с сайта фирмы Microsoft. Это будет рассмотрено позднее в этом же разделе. Наличие драйверов в папке ext автоматически не обеспечивает возможность работы с СУБД. Надо также внести соответствующую информацию в файл PHP инициализации php.ini: 6
Открыв этот файл можно увидеть, что первоначально они не активированы: Необходимые расширения следует активировать следующим образом: Следует обратить внимание, что, кроме этого, активировано расширение для работы со строками, состоящими из многобайтовых символов: extension=php_mbstring.dll Аналогичные действия необходимо выполнить для каждой СУБД, с которой будет работать информационная система. 7
После изменения в массив php.ini требуется перезапустить службу, которая поддерживает WEB сервер (рис. 1.2), например, Apache. Рис. 1.2 — Перезапуск службы Apache Для того, чтобы проверить правильность установки, надо запустить в интернет обозревателе приложение info.php, которое автоматически устанавливается при установке PHP (рис. 1.3). Если используется WEB сервер Apache, оно находится в папке htdocs. Рис. 1.3 — Приложение info.php В сведениях о составе, установленной версии PHP должна появиться информация приблизительно такого содержания (рис. 1.4– 1.7): Рис. 1.4 — Заголовок, выдаваемый приложением info.php 8
Рис. 1.5 — Данные по драйверам для MySQL Рис. 1.6 — Данные по драйверам для Firebird Рис. 1.7 — Данные по драйверам для PostgreSQL 9
Как видим, установка выполнена и можно начинать работу с этими СУБД. Описание функций для работы с различными СУБД представлено на сайте http://php.net/manual/ru/refs.database.php «Расширения для работы с базами данных». Для того, чтобы использовать СУБД Microsoft SQL Server, надо получить расширения, созданные разработчиками этой СУБД. Это можно сделать, обратившись к сайту Microsoft (рис. 1.8). Драйверы для СУБД Microsoft SQL Server можно получить по адресу: https://www.microsoft.com/en-us/download/details.aspx?displaylang= en&id=20098 Рис. 1.8 — Начальная страница для загрузки драйверов для MS SQL Server После нажатия на кнопку Download необходимо выбрать какой модуль вам необходим. Для выбора необходимого модуля следует в начале посмотреть, для чего каждый из них предназначен. Эту информацию можно получить, прочитав разъяснения, которые представлены на вышеупомянутом сайте (рис. 1.9, 1.10). 10