Языки программирования

PHP и MySQL. Совместная работа

Что такое MySQL?

MySQL – это одна из самых популярных и распространенных СУБД (система управления базами данных) в интернете.
Она не предназначена для работы с большими объемами информации, ее применение идеально подходит для интернет сайтов, как небольших, так и достаточно крупных. MySQL отличается хорошей скоростью работы, надежностью и гибкостью.
СУБД MySQL — одна из множества баз данных, поддерживаемых в PHP. Система MySQL распространяется бесплатно и обладает достаточной мощностью для решения реальных задач.
SQL — Structured Query Language, что означает структурированный язык запросов. Этот язык является стандартным средством для доступа к различным базам данных.
Наиболее популярным приложением по созданию и работе с базами данных MySQL является программа phpMyAdmin.
PhpMyAdmin это Web-приложение с открытым кодом, написанное на языке PHP и представляющее собой Web-интерфейс для администрирования баз данных MySQL. С помощью программы phpMyAdmin можно создавать, удалять и редактировать таблицы базы данных, выполнять отдельные SQL-запросы, создавать и удалять пользователей, изменять их привилегии.
Программа phpMyAdmin также позволяет через Web-браузер осуществлять администрирование сервера MySQL, запускать команды SQL по работе с содержимым таблиц баз данных, управлять СУБД MySQL без непосредственного ввода SQL команд, предоставляя дружественный пользовательский интерфейс.

Создание базы данных MySQL

Создание новой базы данных MySQL осуществляется при помощи SQL-команды CREATE DATABASE:
CREATE DATABASE IF NOT EXISTS `base`
	DEFAULT CHARACTER SET cp1251 COLLATE cp1251_bin

Создание таблицы MySQL

Создание новой таблицы осуществляется при помощи SQL-команды CREATE TABLE. Например, таблица books для книжного магазина будет содержать пять полей: ISBN, автор, название, цена и количество экземпляров:
CREATE TABLE books (ISBN CHAR(13) NOT NULL, 
                    PRIMARY KEY (ISBN),
                    author VARCHAR(30), 
                    title VARCHAR(60), 
                    price FLOAT(4,2),
                    quantity TINYINT UNSIGNED);
Добавление данных в эту таблицу осуществляется при помощи SQL-команды INSERT. Например:
INSERT INTO books ( ISBN, author, title, price, quantity ) 
           VALUES ('5-8459-0184-7', 'Привет', 
                   'Освой самостоятельно PHP5 за 24 часа', '129', '5');
Для извлечения данных из таблицы служит оператор SELECT. Он извлекает данные из базы, выбирая строки, которые отвечают заданному критерию поиска. Оператор SELECT сопровождает немалое количество опций и вариантов использования.

Символ * означает, что необходимы все поля:
SELECT * FROM books;
Для получения доступа только к некоторому полю следует указать его имя в инструкции SELECT:
SELECT author, title, price FROM books;
Для удаления строк из базы данных используется оператор DELETE. Ненужные строки указываются при помощи конструкции WHERE. Например:
DELETE FROM books WHERE quantity = 0;

Связь PHP с MySQL

Чтобы получить доступ к базе данных из Web, используя PHP, надо сделать основные шаги:
  • Подключение к серверу MySQL.
  • Выбор базы данных.
  • Выполнение запроса к базе данных.
  • Получение результата запроса.
  • Отсоединение от базы данных.
Для подключения к серверу базы данных в PHP есть очень хорошая функция mysqli_connect(). Ее аргументы: имя компьютера, имя пользователя и пароль.
Если PHP используется в сочетании с сервером Apache, то можно воспользоваться функцией mysqli_pconnect().
В этом случае соединение с сервером не исчезает после завершения работы программы или вызова функции mysqli_close(). Функции mysql_connect() и mysqli_pconnect() возвращают идентификатор подключения, если все прошло успешно. Например:
$link = mysqli_pconnect ();
if ( !$link ) die ("Невозможно подключение к MySQL");
После того, как соединение с сервером MySQL установлено, нужно выбрать базу данных. Для этого используется функция mysqli_select_db(). Ее аргумент: имя базы данных. Функция возвращает true, если указанная база данных существует и доступ к ней возможен. Например:
$db = "sample";
mysqli_select_db ( $db ) or die ("Невозможно открыть $db");
mysqli_close — эта функция разрывает соединение с сервером MySQL, и возвращает true при успешном выполнении операции и false в противном случае. Функция принимает в качестве аргумента дескриптор соединения с базой данных, возвращаемый функцией mysql_connect. Например:
// устанавливаем соединение с базой данных 
$dbcnx = mysqli_connect($dblocation, $dbuser, $dbpasswd); 
if (!$dbcnx) 
{
  // Выводим предупреждение
  echo ("<P>В настоящий момент сервер базы данных не доступен, поэтому 
  корректное отображение страницы невозможно.</P>"); 
  // Завершаем работу в случае неудачи
  exit();
}
if(mysqli_close($dbcnx)) // разрываем соединение
{
  echo("Соединение с базой данных прекращено");
}
else
{
  echo("Не удалось завершить соединение");
}
Для добавления, удаления, изменения и выбора данных нужно сконструировать и выполнить запрос SQL. Для этого в языке PHP существует функция mysqli_query(). Ее аргумент: строка с запросом. Функция возвращает идентификатор запроса. Например:
$db = "sample";
$link = mysqli_pconnect ();
if ( !$link )
   die ("Невозможно подключение к MySQL");
mysqli_select_db ( $db ) or die ("Невозможно открыть $db");
$query = "INSERT INTO books 
          VALUES ('966-7393-80-1', 'Аллен Вайк', 
          'PHP. Справочник', '213', '4')";
mysqli_query ( $query );
mysqli_close ( $link );
Самоучитель по PHP