Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ВСТУП пхп.docx
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
9.07 Mб
Скачать

Практична частина

  1. Створити базу даних віртуального підприємства.

  1. Створити таблиці в базі даних віртуального підприємства.

  2. Заполнитити таблиці бази даних віртуального підприємства.

  3. Створити пользователя Admin с паролем, для доступу до бази даних выртуального пыдприэмства.

  4. Показати роботу викладачеві.

Лабораторна робота №14 Доступ до бази даних MySql з використанням мови рнр.

Мета роботи: Навчитися використовувати мову РНР для доступ до бази даних MySQL.

Контрольні питання

  1. Опишіть загальну процедуру роботи з базою даних і назвіть засоби РНР для її реалізації?

  2. В яких режимах можливе створення бази даних?

  3. Які типи даних припустимі при створенні таблиці?

  4. Як виконати створення таблиці засобами СКБД?

  5. Як виконати створення таблиці засобами мови SQL?

  6. Як розділяються оператори SQL у випадку декількох операторів у запиті?

  7. Яким чином виконати найпростіші операції вставки рядків даних у таблицю засобами SQL?

  8. Яким чином виконати найпростіші операції модифікації рядків таблиці засобами SQL?

  9. Яким чином виконати перегляд таблиці?

  10. Як одержати інформацію про структуру таблиці в рамках СУБД MySQL?

Теоретичні відомості

Мова РНР підтримує різні системи баз даних (таб 13.1), що є однією з істотних її переваг. РНР забезпечує підтримку наступних баз даних.

Таб. 13.1 Бази даних, які підтримує РНР

Adabas D

InterBase

Solid

Dbase

mSQL

Sybase

Empress

MySQL

Velocis

FilePro

Oracle

Unix DBM

Informix

PostgreSQL

Microsoft SQL Server

ODBC

Для кожної з підтримуваних баз даних в РНР існує відповідний програмний інтерфейс API, що забезпечує зв'язок з конкретною системою. Незважаючи на те, що для кожної бази даних існує свій програмний інтерфейс, існує типова модель роботи з базою даних. Наведемо псевдокод, що ілюструє загальну процедуру пошуку і вибору даних з деякої бази.

<?php

Підключення до СУБД()

Інструкції SQL()

Відключення від СУБД()

?>

Розглянемо приклад взаємодії РНР і MySQL.

Доступ до бази даних MySql з використанням мови рнр

Функція РНР mysql_connect дозволяє сценарію підключитися до сервера MySQL. Ця функція має три параметри, і всі вони є необов'язковими. Перший параметр задає вузол, на якому знаходиться сервер MySQL. За замовчуванням значенням цього параметра є localhost (ім'я комп'ютера, на якому виконується сценарій). Другий параметр задає ім'я користувача MySQL. За замовчуванням таким іменем є ім'я користувача, у контексті якого був запущений процес РНР. Третій параметр задає пароль для доступу до бази даних. За замовчуванням використовується порожній пароль. Наприклад,

$db = mysql_connect();

Звичайно операція підключення до бази даних може завершитися невдачею. В цьому випадку повертається значення false (а не посилання на базу даних). З'єднання з базою даних можна розірвати за допомогою функції mysql_close.

При запуску сервера MySQL з командного рядка потрібно вибрати поточну базу даних, з якою буде пов’язаний фокус. Це ж необхідно здійснити і при взаємодії з MySQL зі сценарію РНР. Для вибору бази даних, з якою буде здійснюватися взаємодія, призначена функція mysql_select_db.

mysql_select_db(“cars”);

Серверу MySQL запити передаються за допомогою функції mysql_query. Наприклад,

$query = “SELECT * from Slavuta”

$result = mysql_query($query);

Функція mysql_query повертає значення, які використовуються для оцінки результатів, отриманих при виконанні запиту SQL. У більшості випадків необхідно визначити кількість рядків результуючих даних. Це можна здійснити за допомогою функції mysql_num_rows, параметром якої є результат виконання функції mysql_query. Наприклад,

$num_rows = mysql_num_rows($result);

Окремі рядки набору даних, отриманого при виконанні SQL-запиту, можна одержати різними способами. Наприклад, можна скористатися функцією mysql_fetch_array, що повертає хеш-код наступного рядка. Якщо записів більше немає, то повертається значення false. Потім значення полів можуть бути отримані шляхом спільного використання імені стовпця таблиці і хеш-кода поточного рядка результуючої множини. Наприклад, якщо в результуючому наборі даних містяться поля Salon і Salon_ID, то всю отриману інформацію можна представити у виді коду HTML у такий спосіб.

$num_rows = mysql_num_rows($result);

for($row_num = 0; $row_num < $num_rows; $row_num++)

{

$row = mysql_fetch_array($result);

print “<p> Result row number”.($row_num+1).“. Salon_ID: ”;

print htmlspecialchars($row[“Salon_ID”]);

print “ Salon: ”;

print htmlspecialchars($row[“Salon”]);

print “</p>”;

}

Для отримання записів з результуючого набору даних можна використовувати функцію mysql_fetch_row. Різниця полягає в тому, що функція mysql_fetch_array повертає змішаний асоціативний масив, елементи якого упорядковані як за іменами полів (строковим ключам), так і за числовим індексом, а функція mysql_fetch_row повертає нумерований масив.