РАБОТА С БАЗАМИ ДАННЫХ MySQL СРЕДСТВАМИ PHP

 

Литвинова Дарья студентка 3 курса специальности «Информационные системы» КГУ им.А.Байтурсынова

Бевз И.А. ст. преподаватель кафедры ИС КГУ им.А.Байтурсынова

 

СУБД MySQL - одна из множества баз данных, поддерживаемых в PHP. Система MySQL распространяется бесплатно и обладает достаточной мощностью для решения реальных задач.

При взаимодействии сценария с базой данных обычно выполняются следующие действия:

- Подключение к серверу базы данных (предполагается, что сервер базы данных запущен)

- Передача SQL-запроса, который должен быть выполнен СУБД. SQL-запрос представляется на язык SQL. Он оформляется в виде строки и передается специальной PHP-функции в качестве параметра. Эта функция свяжется с СУБД и передаст ей SQL-запрос. СУБД его выполнит (если нет ошибок и других проблем). Если SQL-запрос предполагает возврат данных, то они будут получены с помощью специальной PHP-функции.

- Получение от СУБД данных, соответствующих переданному ранее  SQL-запросу. С помощью специальных функций можно получить данные и далее их обработать.

- Обработка полученных данных: форматирование, анализ и преобразование полученных данных.

- Отключение от базы данных, если не предполагается повторно выполнить этапы 2.  Отключаться от базы данных рекомендуется всякий раз, как только вы прекращаете работать с ней на более или менее длительный срок.

Эти и другие действия в PHP-сценарии выполняются посредством соответствующих функций.

Прежде чем работать с базой данных, необходимо установить с ней сетевое соединение, а также провести авторизацию пользователя. Для этого служит функция mysql_connect()

resource mysql_connect([string $server[,string $username[,string $password]]])

Эта функция устанавливает сетевое соединение с базой данных MySQL, расположенной на хосте $server (по умолчанию это localhost, т.е. текущий компьютер) и возвращает идентификатор открытого соединения. Вся дальнейшая работа ведется именно с этим идентификатором. Все другие функции, принимающие этот идентификатор (дескриптор) в качестве аргумента, будут однозначно определять выбранную базу данных. При регистрации указывается имя пользователя $username и пароль $password (по умолчанию имя пользователя, от которого запущен текущий процесс – при отладке скриптов: root, и пустой пароль):

<?

$dblocation = "localhost"; //Имя сервера

$dbuser = "root"; //Имя пользователя

$dbpasswd = ""; //Пароль

//Осуществляем соединение с сервером базы данных

//Подавляем вывод ошибок символом @ перед вызовом функции

$dbcnx = @ mysql_connect($dblocation, $dbuser, $dbpasswd);

if (!$dbcnx) //Если дескриптор равен 0, соединение не установлено

{

//Выводим предупреждение

echo("<P>B настоящий момент сервер базы данных не доступен, поэтому корректное отображение страницы невозможно.</Р>");

exit ();

}

?>

Переменные $dblocation, $dbuser и $dbpasswd хранят имя сервера, имя пользователя и пароль.

Осуществив соединение базы данных, можно непосредственно перейти к созданию базы данных. Для этого используется следующая функция CREATE DATABASE

Команда — создание базы данных доступна только администратору сервера, и на большинстве хостингов ее нельзя выполнять:

CREATE DATABASE ИмяБазыДанных

Создает новую базу данных с именем nameDB.

Пример создания базы данных:

mysql> create database nameDB;

Чтобы начать работу с существующей базой данных, ее необходимо выбрать. Для этого следует выполнить команду:

mysql>use nameDB;

Рекомендуется везде использовать апострофы ('SQL – команда') в качестве ограничителей строк, содержащих SQL – команды. Этим можно гарантировать, что никакая $ - переменная случайно не будет интерполирована (т.е. не заменится на свое значение), и увеличится безопасность скриптов.

Успешно подключившись к серверу баз данных и выбрав требуемую конкретную базу данных, можно выполнять различные манипуляции с выбранной базой данных, которые задаются выражениями на языке SQL.

SQL-запрос к базе данных в качестве строкового параметра передается специальной функции PHP, которая в свою очередь передает его СУБД. СУБД выполняет этот запрос, а PHP-функция возвращает указатель на временную таблицу данных, являющуюся результатом выполнения запроса.

Выбор нужных данных из одной или нескольких таблиц выполняется с помощью SQL-запроса, начинающегося с ключевого слова (оператора) SELECT. Критерий (условие) выбора данных формулируется в выражении SQL-запроса вслед за ключевым словом WHERE. Результатом выполнения такого запроса является временная таблица (возможно, пустая, если нет данных, удовлетворяющих условию запроса). Функция PHP, выполняющая запрос, возвращает указатель на полученную в результате временную таблицу. Этот указатель используется в PHP-сценарии для доступа к данным с помощью специальных функций.

Довольно часто данные из временной таблицы читают в массив, а затем его обрабатывают в сценарии (например, выводят на экран, изменяют значения, производят вычисления и т.п.).  Если требуется изменить значения полей таблицы, добавить новую или удалить имеющуюся запись, то формируют строку с соответствующим SQL-запросом, а затем передают ее в качестве параметра функции, выполняющей запрос (например, mssql_query()).

Чтение в массив записей временной таблицы, полученной в результате выполнения SQL-запроса, производится функциями, в имени которой находится слово fetch (достать). Например, функция mssql_fetch_assok() читает текущую запись таблицы БД MS SQL Server в массив с символьными индексами (ключами). При этом значения индексов совпадают с именами соответствующих полей таблицы. mssql_fetch_row() создает аналогичный массив, но с числовыми индексами, значения которых совпадают с номерами полей таблицы. Для MySQL существуют аналогичные функции: mysql_fetch_assok(), mysql_fetch_row().

PHPMyAdmin — веб-приложение с открытым кодом, написанное на языке PHP и представляющее собой веб-интерфейс для администрирования СУБД MySQL. PHPMyAdmin позволяет через браузер осуществлять администрирование сервера MySQL, запускать команды SQL и просматривать содержимое таблиц и баз данных. Приложение пользуется большой популярностью у веб-разработчиков, так как позволяет управлять СУБД MySQL без непосредственного ввода SQL команд, предоставляя дружественный интерфейс. Стандартная сборка PHP почти всегда включает в себя библиотеки для работы с MySQL, предоставляя разработчикам все необходимые инструменты для взаимодействия с сервером баз данных. Функции для работы с MySQL, которые доступны при написании проектов с использованием PHP, решают главные задачи, возникающие при необходимости обращения к базе данных из сценария PHP - соединение с сервером баз данных, передача ему запроса и извлечение результатов, которые вернул сервер.

На сегодняшний день PHPMyAdmin широко применяется на практике. Это связано с тем, что разработчики интенсивно развивают свой продукт, учитывая все нововведения СУБД MySQL. Подавляющее большинство провайдеров используют это приложение в качестве панели управления для того, чтобы предоставить своим клиентам возможность администрирования выделенных им баз данных.

 

Список используемых источников:

1. http://phpmove.ru

2. http://htmlweb.ru