РАБОТА С БАЗАМИ ДАННЫХ 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