Начинающие программисты PHP часто встречаются с таким вопросом, как: «С какими базами данных может работать язык программирования php?» или «Какие базы данных поддерживает язык php?». Сегодня я постараюсь ответить на этот вопрос, тем более что ответ очень простой: php работает почти со всеми базами данных!
Начну я как обычно с теории для начинающих, так как статья предназначена именно для новичков, которые только начали изучать php или только собираются. Сейчас мы поговорим об общих возможностях php.
PHP (PHP: Hypertext Preprocessor или Personal Home Page Tools) – это серверный, скриптовой язык web программирования. В этом определении я упомянул приставку «web», это и понятно, так как язык php получил огромную популярность при разработке web приложений, сайтов и является, наверное, самым популярным языком разработки сайтов. Снова повторюсь, что это именно серверный язык программирования, который выполняется на стороне сервера в отличие от, например, javascript. Популярность вызвана следующим:
- Простота;
- Удобность;
- Наличие огромной документации.
Теперь немного поясню, почему php является простым языком, да потому что на нем можно программировать как с использованием процедурного подхода, так и с объектно-ориентированным. PHP является си подобным языком программирования, поэтому все кто когда-нибудь сталкивался с такими языками как: си, си++, javascript, c# и другими, без проблем смогут освоить php, к тому же мне кажется, что по сравнению со всеми такими языками, php является самым простым. Все языковые конструкции простые, логичны и легко запоминаются в отличие от других языков программирования. Поэтому базовые знания php, для создания простых сайтов, можно получить уже через нескольких часов чтения мануала на официальном сайте, я, кстати, всегда и всем рекомендую пользоваться только первоисточниками, иногда конечно бывает непонятно, но это не касается php (официальный сайт php.net).
Исходя из этого преимущества, можно сделать вывод, что помимо официального сайта для php в интернете просто очень много все возможной документации.
Под удобностью я понимаю то, что php можно использовать на многих платформах, таких как: Windows, Linux, Mac OS X и других. Возможность работы со многими web серверами, такими как: Apache, IIS и другими. Сюда я также отнесу и главную тему сегодняшней статьи это то, что php умеет работать со многими базами данных, давайте кратко рассмотрим эти базы данных, все они на сегодняшний день очень популярны.
Популярные базы данных
MySQL – бесплатная, и самая популярная СУБД для разработки сайтов в Интернете. Словосочетание PHP+MySql становится единым целым и многие думают, что эта связка поставляется вместе и не разделима, что в свою очередь и путает многих начинающих web-мастеров, которые и задают такие вопросы как – «какие базы поддерживает php?», «А работает ли php с той или иной базой данных?» По поводу этой СУБД можно сказать еще и то, что да, она отлично работает в данной связке и является лучшим вариантом для использования на сайте в Интернете.
PostgreSQL – также бесплатная СУБД, но менее популярна в Интернете для создания web сайта, но отлично впишется в связке с php, например, при разработке корпоративного приложения у Вас на работе.
SQLite – самая простая бесплатная база, ее даже не нужно устанавливать, она все хранит в текстовых файлах. Отлично подойдет для простого хранения небольшого объема данных, но для нормального web приложения она конечно не подойдет. Следует отметить то, что у SQLite есть новые версии, такие как SQLite3, в которой больше возможностей по сравнению с предыдущей версией.
MS SQL – это всем известный Microsoft SQL Server. Он является платным, поэтому, как мне кажется, не так популярен среди web мастеров в Интернете. Но это не говорит о том, что он плохо работает с php, просто это сочетание менее популярно. Данное сочетание также отлично впишется в корпоративную среду.
Oracle – как я говорю это СУБД всем СУБД! Для крупных компаний эта СУБД является лучшей, поэтому она, конечно же, платная. Если говорить о связке php+Oracle, то это также менее популярная связка. Но некоторые используют именно в таком сочетании (опять же токи в крупных компаниях).
dBase – старая база данных, наверное, все знают такие файлы с расширением dbf, так вот это, и есть файлы этой базы. Php умеет работать и с этой базой, но это, я думаю, редко используют на практике.
Помимо всех известных баз данных, php может работать со следующими базами:
- DB++;
- FrontBase;
- Firebird/InterBase;
- IBM DB2;
- MaxDB;
- Paradox;
- и другими.
Подключение модулей PHP для поддержки баз данных
Вот мы рассмотрели базы, с которыми неплохо работает и поддерживает язык программирования php. Теперь давайте рассмотрим пару примеров настройки php для взаимодействия с этими базами данных, т.е. подключение необходимых модулей, так как в php по умолчанию поддержка этих баз данных отключена. Для справки, php это модульная система и каждый модуль отвечает за нужную возможность или поддержку того или иного взаимодействия. Другими словами, можно даже самим написать необходимую библиотеку и подключить ее к php.
Все настройки выполняются в конфигурационном файле php это – php.ini, он располагается в корневой директории php.
Например, для подключения MySQL найдите в нем секции extension, которые и отвечают за подключение модулей, предварительно проверьте, что подключаемая библиотека расположена в папке ext, данная папка располагается в корневой папке с php. В windows системах библиотека для MySQL называется php_mysql.dll. Для включения данной библиотеки необходимо просто раскомментировать строку, это делается простым стиранием точки с запитой в начале строки.
Для MySQL
Выключено
;extension=php_mysql.dll
Включено
extension=php_mysql.dll
Для PostgreSQL
Выключено
;extension=php_pgsql.dll
Включено
extension=php_pgsql.dll
Для SQLite3
Выключено
;extension=php_sqlite3.dll
Включено
extension=php_sqlite3.dll
Функции PHP для работы с базами данных
Что касается необходимых функций, которые можно использовать в процессе взаимодействия с той или иной базой данных, то это лучше почитать документацию по функциям php, которые используются для конкретной базы данных. Но могу сказать, что некоторые функции похожие, например:
Для подключения к серверу
MySQL
mysql_connect();
PostgreSQL
pg_connect();
MSSQL
mssql_connect();
Для подключения к конкретной базе данных
Используется уже после подключения к серверу.
MySql
mysql_select_db();
MSSQL
mssql_select_db();
Посыл запроса
Используется после подключения к серверу и выбора базы данных.
Для MySQL
mysql_query();
Для MSSQL
mssql_query();
Для PostgreSQL
pg_query();
Во всех этих функциях передается параметр, т.е. сама строка запроса.
Пример рабочего подключения к базе данных и посыл запроса для MySQL
mysql_connect ("localhost", "root","123");//сервер, пользователь, пароль mysql_select_db("test") or die (mysql_error());//test база данных mysql_query(“select * from table”);//сам запрос
Как Вы видите, функции по работе с различными базами данных похожи, и Вы легко сможете перейти с одной базы на другую или если у Вас одно приложение работает с MySql, а другое с PostgreSQL, то Вы без проблем можете перестраиваться с одной базы на другую.
Теперь я думаю, Вы понимаете огромные возможности php по работе с базами данных, да и не только с базами данных, PHP — это просто отличный язык программирования. Удачи в освоение языка программирования PHP!