Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LABS-all-OTIS.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1 Мб
Скачать
☆

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.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]