- •Лабораторна робота № 1 Створення концептуальних схем
- •Теоретична частина
- •Завдання
- •Контрольні запитання
- •Перелік рекомендованої літератури
- •Лабораторна робота № 2 Етапи розробки бази даних
- •Теоретична частина
- •Перелік рекомендованої літератури
- •Лабораторна робота № 3 Проектування баз даних
- •Завдання
- •Контрольні запитання
- •Теоретична частина
- •Завдання
- •Хід виконання роботи
- •Перелік рекомендованої літератури
- •Лабораторна робота № 5 Використання баз даних MySql при створенні веб-ресурсів
- •Теоретична частина
- •1. Особливості бд MySql
- •2. Встановлення і початок роботи з бд MySql
- •1.3. Основні команди керування бд MySql за допомогою мови sql
- •Хід виконання роботи
- •Завдання
- •Контрольні запитання
- •Перелік рекомендованої літератури
- •Додаток а. Основні функції mySql
- •Додаток б. Типи даних mySql:
- •Лабораторна робота № 6 Керування базами даних MySql за допомогою php
- •Теоретична частина
- •1. Вступ у php
- •2. Взаємодія з базою даних MySql
- •2.1. Встановлення з'єднання із бд
- •2.2. Одержання списку полів таблиці
- •2.3. Відображення списку полів у html-формі
- •2.4. Запис даних у базу даних
- •2.5. Відображення даних, що зберігаються в MySql.
- •Хід виконання роботи
- •Завдання
- •Контрольні запитання
- •Перелік рекомендованої літератури
2.4. Запис даних у базу даних
Отже, форма створена. Тепер потрібно зробити саме головне - відправити дані з цієї форми в нашу базу даних. Як ви вже знаєте, для того щоб записати дані в таблицю, використовується команда INSERT мови SQL. Наприклад:
mysql> INSERT INTO Artifacts SET title='Петров';
Скористатись будь-якою командою SQL у PHP скрипті можна використовуючи функцію mysql_query().
Синтаксис mysql_query:
ресурс mysql_query ( рядок query [, ресурс link_identifier])
mysql_query() посилає SQL-запит активній базі даних MySQL сервера, що визначається за допомогою вказівника link_identifier (це посилання на якесь з'єднання із сервером MySQL). Якщо параметр link_identifier опущений, використовується останнє відкрите з'єднання. Якщо відкриті з'єднання відсутні, функція намагається з'єднатися з СКБД, аналогічно функції mysql_connect() без параметрів. Результат запиту буферизується.
Тільки для запитів SELECT, SHOW, EXPLAIN, DESCRIBE, mysql_query() повертає вказівник на результат запиту, або FALSE, якщо запит не був виконаний. В інших випадках mysql_query() повертає TRUE, якщо запит виконаний успішно, і FALSE - у випадку помилки. Значення, не рівне FALSE, говорить про те, що запит був виконаний успішно. Воно не говорить про кількість порушених або повернутих рядків. Цілком можлива ситуація, коли успішний запит не торкнеться жодного рядка mysql_query() також вважається помилковим і поверне FALSE, якщо в користувача недостатньо прав для роботи із зазначеною в запиті таблицею.
Отже, нам відомо, як відправити запит на вставку рядків у базу даних. Відмітимо, що в попередньому прикладі елементи форми ми назвали іменами полів таблиці. Тому вони будуть доступні в скрипті insert.php, що обробляє дані форми, як змінні виду $_POST['ім'я_поля'].
<?
$conn=mysql_connect("localhost","nina","123");// встановлюємо з’єднання
$database = "book";
$table_name = "Artifacts";
mysql_select_db($database); // обираємо базу даних
$list_f = mysql_list_fields($database, $table_name);
// отримуємо список полів у базі
$n = mysql_num_fields($list_f);
// кількість стрічок у результаті попереднього запиту
// створимо один запит відразу для всіх полів таблиці
$sql = "INSERT INTO $table_name SET ";
// починаємо створювати запит, перебираємо всі поля таблиці
for($i=0;$i<$n; $i++){
$name_f = mysql_field_name ($list_f,$i); // визначаємо ім’я поля
$value = $_POST[$name_f]; // обчислюємо значення поля
$j = $i + 1;
$sql = $sql . $name_f." = '$value'";
// дописуємо в стрічку $sql пару ім’я=значення
if ($j <> $n) $sql = $sql . ", ";
// якщо поле не останнєв списку, то ставимо кому
}
// перед тим, як записувати що небуть у базу можна подивитися,
//який запит отримаєтьмя
//echo $sql;
$result = mysql_query($sql, $conn); // відправляємо запит
// виводимо повідомлення чи успішно виконано запит
if (!result) echo " Can't add ($table_name) ";
else echo "Success!<br>";
?>
Отже, ми навчились додавати дані за допомогою web-інтерфейсу. Тепер спробуємо отримати дані, що зберігаються в базі даних СКБД MySQL.
