ПР09. СУБД MySQL
Задание 1
С помощью phpMyAdmin создать базу данных с именем [name]_db
, где [name] - Ваша фамилия(на английском).
Например: ivanov_db
Далее с помощью того же phpMyAdmin создать в базе данных одну таблицу с именем [name]_table
, где [name] - Ваше имя(на английском).
Например: ilya_table
Таблица должна быть следующей структуры
Имя столбца | Тип данных (размер) | Описание |
---|---|---|
id | INT | Индентификатор. Данное поле сделать первичным ключом и назначить автоматическое инкрементирование |
fio | VARCHAR(100) | Хранит фамилию имя и отчество. |
age | INT | Возраст |
На данном этапе таблицу заполнять не нужно
В результате у Вас должна получится пустаю таблица с тремя столбцами
Задание 2
Создать отдельный php-скрипт, основная цель которго заполнить созданую в задании 1 таблицу [name]_table
.
INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);
Всего необходимо добавить 10 строк в таблицу [name]_table
. Вносимые данные придумайте сами, но они должны соответсвовать типу и описанию столбцов.
Все производимые манипуляции с данными таблицы должны осуществляться программным путём.
Задание 3
Создать отдельный php-скрипт, который удаляет определённую строку из таблицы [name]_table
. Выбор строки остаётся за преподавателем.
DELETE FROM table_name WHERE condition;
Задание 4
Создать отдельный php-скрипт, который изменял бы существующую запись в таблице [name]_table
. Выбор записи остаётся за преподавателем.
UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition;
Доступ к БД
Первое что необходимо выполнить при работе с базой данных - это подключиться к ней.
Для подключения к MySQL из PHP нам надо указать настройки подключения: адрес сервера, логин, пароль, название базы данных.
Так как обычно подключения к БД используются множеством скриптов, то нередко настройки подключения выносятся в отдельный файл, благодаря чему легче их оперативно изменять.
<?php $host = "localhost"; // 127.0.0.1 $login = "root"; // по умолчанию $password = ""; $db = "ivanov_db"; ?>
Теперь можно подключаться к БД. Для открытия подключения применяем функцию mysqli_connect()
<?php .... $link = mysqli_connect($host, $login, $password, $db); // возвращает объект подключения if($link) { // операции с БД } esle { echo "ERROR CONNECT"; exit; } // обязательно по заверщению закрывайте соединение с БД mysqli_close($link); ?>
После окончания работы подключение нужно закрыть. Для этого применяется функция mysqli_close()
, которая в качестве параметра принимает объект подключения.
Чтобы осуществить запрос к базе данных, нам надо использовать функцию mysqli_query()
, которая принимает два параметра: объект подключения и строку запроса на языке SQL.
<?php .... if($link) { $query = "SELECT * FROM ivanov_table;"; $result = mysqli_query($link, $query) or die("Ошибка " . mysqli_error($link)); if($resul) { // работа с результатом запроса } } esle { .... ?>
Функция mysqli_query()
возвращает объект $result
, который содержит результат запроса. В случае неудачи данный объект содержит значение false
. Так в случаи неудачи выполнение скрипта прервётся, а на экран выведется сообщение об ошибке.
Функция mysqli_error
возвращает сообщение об ошибке последнего вызова функции MySQLi, который может успешно выполниться или провалиться.
Для более удобной работы с результатом выборки воспользуемся функцией mysqli_fetch_assoc
.
mysqli_fetch_assoc
- представляет результат запроса в виде многомерного ассоциативного массива, где каждый ключ в массиве соответствует имени одного из столбцов таблицы.
<?php .... if($result) { while ($row = mysqli_fetch_assoc($result)) { echo $row["column1"] . " => " . $row["column2"]); } } } esle { .... ?>