Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Лекция 4. Работа с СУБД MySQL в PHP.
Введение.
MySQL - Система Управления Базами Данных (СУБД). Основное преимущество
перед большинством остальных СУБД это то, что она является бесплатной. В силу того,
что MySQL бесплатна, она поддерживается очень многими хостинг провайдерами.
Для работы с СУБД нам потребуется сам сервер БД, и администратор БД
(например phpMyAdmin). Так используем язык программирования PHP нам, разумеется,
потребуется веб-сервер (например, Apache).
Для упрощения установки вышеуказанного ПО обеспечения я рекомендую
использовать пакет XAMPP (https://www.apachefriends.org/ru/index.html). В новых сборках
XAMPP СУБД MySQL переименовали в MariaDB (для нас это несущественно).
Администратор БД phpMyAdmin упрашает работы по конфигурированию и работе
с БД (СУБД MySQL), однако его использование не является обязательным. Ниже
предстален пример, создание БД и таблиц командами SQL, при помощи функций PHP.
Документацию по работе с phpMyAdmin можно получить здесь (https://phpmyadmin.ru/doc/).
Любые вопросы по по работе с вышеуказанным ПО можно задавать мне в
командах MS Teams (список в «Объявлениях» Canvas) или по электронной почте
stuchilin.vv@misis.ru.
Полный список функций для работы с MySQL в PHP можно получить здесь
(https://www.php.net/manual/ru/book.mysql.php)
ВАЖНО! C появлением версии PHP 5.0 для работы с СУБД MySQL появилось
расширение mysqli. В основном изменился синтаксис функций/методов. Так как сейчас
очень много проектов используют старый систаксис, рассмотрим в этой лекции его.
Логика работы с СУБД никак не изменилась.
Тема использования mysqli выносится на САМОСТОЯТЕЛЬНУЮ РАБОТУ.
Подробнее
про
mysqli
можно
посмотреть
здесь
(http://www.php.su/articles/?cat=phpdb&page=010).
Работа с СУБД MySQL в PHP.
Для того, чтобы получить данные из базы данных MySQL в PHP скрипт
необходимо связать PHP и MySQL.
Для связи PHP и MySQL нужно знать:
Хост - адрес сервера баз данных MySQL
Имя базы данных
Имя пользователя
Пароль - пароль для доступа к БД
1
Некоторые SQL команды
Алгоритм такой:
1.
2.
3.
4.
5.
Устанавливаем соединение с сервером.
Выбираем нужную базу данных.
Делаем запрос к серверу баз данных (SQL запрос).
Обрабатываем результат запроса, если это необходимо.
Закрываем соединение (отключаемся от сервера БД).
Чтобы работать с БД надо знать несколько функций PHP.
mysql_connect();
mysql_select_db();
mysql_query();
mysql_fetch_array(); (одна из функций для обработки результатов запроса).
mysql_close();
Это тот минимум, который позволит вам устанавливать соединение с сервером
MySQL, выбирать базы данных и делать запросы к серверу баз данных.
Рассмотрим эти функции на примере.
Допустим в нашей базе данных храниться одна таблица со следующей структурой:
имя поля
id
name
tel
тип(длина)
целый(2)
символьный(100)
символьный(20)
описание
уникальный номер
имя
телефон
Таблица имеет имя: customer, а наша база данных называется database.
Допустим, что ваши данные для подключения к серверу MySQL Такие:
Хост: localhost (127.0.0.1).
Имя пользователя: Guest (по умолчанию root).
Пароль: mypassword (по умолчанию пароль пустой).
Для начала необходимо создать нашу таблицу customer. Напишем скрипт который
создаст в базе данных database таблицу customer. Назовём файл как install.php.
Примечание: это можно сделать в графической оболочке phpMyAdmin.
Файл install.php
Функция mysql_connect() возвращает идентификатор соединения. Этот
идентификатор необходимо указывать во всех MySQL функциях. Можно провести
аналогию с указателем на файл (file pointer), который используется функциями по работе с
файлами. В параметрах функции мы указали хост, имя пользователя и пароль к базе
данных.
На сервере MySQL храниться не только ваша база данных. Сервер может
обслуживать тысячи таких баз данных. Поэтому, чтобы получить доступ к своей базе
данных, необходимо выбрать её. Выбор базы данных осуществляется функцией
mysql_select_db(). В параметрах указывается: имя требуемой базы данных $DBName и
идентификатор соединения $Link, который мы получили с помощью функции
mysql_connect().
После того как мы подключились к серверу MySQL и выбрали нашу базу
данных, мы делаем SQL запрос. В запросе указываем, что мы хотим создать таблицу с
именем customer и со структурой приведённой в таблице выше. Запрос к серверу MySQL
осуществляется с помощью функции mysql_query(). В параметрах указывается сам запрос
$Query и идентификатор соединения $Link.
И, наконец, отключаемся от сервера (закрываем соединение) функцией
mysql_close(). В параметрах указываем идентификатор того соединения, которое нужно
закрыть.
При закрытии скрипта, соединение с СУБД автоматически закрывается. Но я
рекомендую закрывать соединение сразу после того, как в нем отпадает необходимость
(для экономии ресурсов сервера).
Если вы всё сделали правильно, то на сервере MySQL в вашей базе данных,
появится таблица customer.
После того как мы создали таблицу, её надо заполнить т.е. записать в нёё какиенибудь данные (записи). Напишем скрипт, который будет добавлять запись в нашу
таблицу. Назовём файл скрипта как insert.php.
Файл insert.php
3
Посмотрев этот скрипт вы заметете, что он отличается от предыдущего только
строкой запроса $Query.
Теперь когда мы умеем записывать данные в базу данных, перейдём к процедуре
запроса данных из базы MySQL. Для этого напишем скрипт и назовём файл select.php.
Файл select.php
Изменилась строка запроса $Query, которая теперь содержит SQL-оператор
SELECT. Так же добавился небольшой код while() { .... }. Скажу только, что функция
mysql_fetch_array() обрабатывает результат запроса и возвращает массив полей текущей
строки результата.
Константа MYSQL_ASSOC указывает на то, что функция должна вернуть
ассоциативный массив полей. После того как функция mysql_fetch_array() обработает все
строки результата, она вернёт значение FALSE и тогда цикл while() - не выполниться.
Используемые источники.
1.
2.
3.
4.
5.
6.
7.
Руководство по PHP. https://www.php.net/manual/ru/index.php
PHP. https://habr.com/ru/hub/php/
Учебник по PHP. https://htmlacademy.ru/tutorial/php
PHP.SU. http://www.php.su/
XAMPP Apache + MariaDB + PHP + Perl.
phpMyAdmin. https://php-myadmin.ru/doc/
Оригинальное API MySQL. https://www.php.net/manual/ru/book.mysql.php
5