Организовать подключение к СУБД MySQL при помощи функций PHP.
Лабораторная работа № 6
Введение в web-программирование. Разработка клиентского интерфейса БД
Цель работы: приобрести практические навыки работы с СУБД MySQL, научиться строить простейшие веб-приложения с использованием языка программирования PHP.
Задание:
1. Изучить БД internet_shop, ознакомиться с основными таблицами. Осуществить запросы на выборку и добавление данных в соответствующие таблицы. Перечислить использованные запросы, оформив их в виде текстового документа.
Для доступа к веб-серверу выполнить следующие действия:
Запустить ssh-клиент putty, указать ip-адрес 192.168.9.236. Далее ввести логин student <номер_варианта>(номер варианта назначается преподавателем) и пароль 321.
После подключения ввести команду
mysql --user=student —password
Или
Mysql – u student – p
после этого ввести пароль 321.
После этого выбрать базу данных internet_shop, введя следующую sql-команду:
Use internet_shop
Просмотреть структуру базы данных можно, введя команду:
show tables;
Просмотреть структуру конкретной таблицы можно, введя команду:
show columns from < название _ таблицы >;
БД internet_shop имеет следующую структуру:
Ниже дается текстовое описание БД, включающее расшифровку назначения определенных полей БД.
Таблица Клиенты (clients)
Cl_id — индекс
firstName — имя
lastName — фамилия
sex — пол
nickName — логин, ник
phone — телефон
email — электронная почта
Таблица Производители (manufacturers)
|
|
Man_id — индекс
name — название
establish_date — дата основания
Таблица Продукты (products)
Pr_id — индекс
name — название
price — цена за единицу
Man_id — производитель (внешний ключ)
Таблица Заказы (orders)
Ord_id — индекс
Cl_id — клиент (внешний ключ)
date_of_order — дата заказа
total_sum — общая сумма заказа
Таблица СведенияОЗаказах (orders_summary)
Ord_s_id — индекс
Ord_id — заказ (внешний ключ)
Pr_id — продукт (внешний ключ)
count — количество единиц продукта
Осуществите следующие операции вставки в БД:
1.1. Добавьте производителя(-ей);
1.2. Добавьте несколько новых товаров по Вашему желанию;
1.3. Добавьте нового клиента;
1.4. Добавьте новый заказ, произведенный добавленным в пункте 1.3 клиентом с включенными в него товарами из пункта 1.2.
1.5. Добавьте записи в таблицу orders_summary, соответствующие заказу из пункта 1.4.
Осуществите следующие операции выборки из БД:
1.1. Выберите всех клиентов и отобразите следующие поля запроса: имя, фамилия, пол и логин.
1.2. Выберите всех клиентов-женщин с телефоном, начинающимся на цифру 2.
1.3. Выберите всех клиентов-мужчин, имеющих в никнейме букву f, упорядочите их по алфавитному порядку их никнеймов (в порядке возрастания).
|
|
1.4. Выберите всех клиентов, оформивших заказ заданного числа.
1.5. Выберите все продукты, стоимость которых находится в интервале от 50 до 100 рублей, упорядочьте их по названию (в порядке убывания).
1.6. Выберите все заказы и отобразите включенные в них товары и их количество, оформленные на заданную общую сумму не позднее заданного числа.
1.7. Определите общее количество товаров, представленных заданным производителем.
- Выборка из БД осуществляется с помощью команды SELECT.
Пример: необходимо выбрать поля field1 и field2 таблицы tbl1.
Решение : SELECT field1, field2 FROM tbl1;
Пример: необходимо выбрать все поля из таблицы tbl1.
Решение: SELECT * FROM tbl1;
Пример: необходимо выбрать все записи из таблица tbl1, для которых значение поля field1 не превышает 5.
Решение : SELECT * FROM tbl1 WHERE field1 <= 5;
Пример: упорядочить данные запроса из таблицы tbl1 по алфавитному порядку поля field1 (в порядке возрастания)
Решение : SELECT * FROM tbl1 ORDER BY field1 ASC;
Для сортировки по убыванию использовать DESC.
Пример: подсчитать общее количество записей заданной таблицы.
Решение: SELECT COUNT(*) FROM tbl1;
Пример: выбрать записи из таблицы для поля, удовлетворяющего заданному паттерну.
|
|
Решение: SELECT * FROM tbl1 WHERE field1 LIKE 'a%' (выбираем все данные для поля, начинающегося на «a».
- Вставка в базу данных выполняется с помощью команды INSERT INTO:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
Организовать подключение к СУБД MySQL при помощи функций PHP.
Перейдите в свою домашнюю папку на сервере. Создайте в ней директорию html и создайте внутри файл index . php с содержимым:
<html>
<body>
<H1>Hello, world!</H1>
</body>
</html>
Сохраните полученный файл. Откройте любой браузер по желанию и введите в адресной строке 192.168.9.236/ std <номер>, где <номер> - этопоследние цифры в вашей учетной записи. При необходимости введите student – student на запрос прокси-сервера.
Убедитесь в корректности результата. Отредактируйте файл следующим образом:
<html>
<body>
<?php
phpinfo();
?>
</body>
</html>
После обновления страницы вы увидите информацию об установленном интерпретаторе php на сервере.
Для организации доступа к базе данных, воспользуйтесь следующим кодом:
<?php
function setConnection()
{
$main_login = < логин >;
$main_password = < пароль >;
$dbname = < название БД >;
|
|
$dblocation = < расположение БД >;
//$dbcnx = mysql_connect($dblocation,$main_login,$main_password);
$connection = mysqli_connect($dblocation,$main_login,$main_password);
mysqli_select_db($connection, $dbname);
$query = "Set names utf8";
$result = mysqli_query($connection, $query);
return $connection;
}
?>
Организуя соединение, можно формулировать запросы к БД, например, так:
'SELECT prs_id, prs_surname, prs_name, prs_patronymic, ntn_id
FROM person
WHERE ntn_id = 10';
$result = mysqli_query($connection, $query);
Далее данные могут быть записаны в ассоциативный массив:
$outputArray = array ();
if (mysqli_num_rows($result) != 0)
{
while ($row = mysqli_fetch_assoc($result)) {
array_push($outputArray,array(
0 => $row['prs_id'],
1 => $row['prs_surname'],
2 => $row['prs_name'],
3 => $row['prs_patronymic'],
4 => $row['ntn_id']
));
}
}
Дата добавления: 2021-12-10; просмотров: 23; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!