Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Организация доступа к данным из PHP приложений для различных СУБД

Покупка
Артикул: 801751.01.99
Доступ онлайн
171 ₽
В корзину
Учебное пособие содержит теоретические и практические сведения для создания информационных систем в виде PHP приложений, использующих СУБД MySQL, Microsoft SQL Server, Firebird и PostgreSQL. Учебное пособие рассмотрено и одобрено на заседании кафедры информационных систем в экономике ФГБОУ ВО «Алтайский государственный технический университет им. И. И. Ползунова» протокол № 1 от 07.09.2018 г.
Шабашов, В. Я. Организация доступа к данным из PHP приложений для различных СУБД / В. Я. Шабашов. - Москва : Директ-Медиа, 2019. - 120 с. - ISBN 978-5-4475-9888-4. - Текст : электронный. - URL: https://znanium.com/catalog/product/1985730 (дата обращения: 02.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ 
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ 
 
 
В. Я. Шабашов 
 
 
 
 
 
 
 
ОРГАНИЗАЦИЯ 
ДОСТУПА К ДАННЫМ 
ИЗ 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 

 

Рис. 1.9 — Перечень модулей для MS SQL Server 

 

Рис. 1.10 — Дополнительная информация по скачиванию 

Раскроем раздел «Системные требования» (System Re-
quirements) (рис. 1.11). 

11 

Доступ онлайн
171 ₽
В корзину