Основні прийоми роботи з СУБД MySQL, використовуючи PHP та розширення mysqli - Куточок веб-розробника

Ви читаєте нову версію статті "Основні прийоми роботи з СУБД MySQL, використовуючи мову програмування PHP". Я не став видаляти з сайту попередню версію, але знайте, що не слід використовувати описані в ній методи для нових проектів, оскільки вона стосується PHP-розширення mysql, яке з версії PHP 5.5.0 вважається застарілим!

У програмуванні часто виникає завдання роботи з великими обсягами даних. Навіть коли структура даних спроектована, часто не хочеться вигадувати та реалізовувати ефективні способи роботи з цими даними, а саме такі як вибір, зміна, сортування, зберігання. У таких випадках до нас приходить на допомогу СУБД, яка бере всі ці функції на себе. У нашому випадку, у ролі СУБД виступатиме MySQL.

Функції для роботи з СУБД MySQL у вигляді розширення mysqli з'явилися в PHP5, для використання цих функцій необхідно переконатися, що в конфігураційному файлі php.ini підключено розширення mysqli для роботи з MySQL, а саме, має бути активним рядок:

Останню версію MySQL можна завантажити з сайту розробника: http://www.mysql.com/

У цій статті розглянемо основні прийоми роботи з СУБД MySQL, використовуючи мову PHP 5.x програмування або вище.

З'єднатися із сервером СУБД MySQL можна за допомогою функції mysql_connect(), якій достатньо передати шлях до сервера, ім'я користувача та пароль MySQL.

Наприклад, наступний код дозволить підключитися до MySQL, що знаходиться на локальній машині, з ім'ям root та з порожнім паролем:

Як видно з прикладу, ми використовуємо об'єкт-орієнтовану форму виклику функцій і працюємо з об'єктом $db. Тим, хто не звик до такої форми запису, доведеться відкрити документацію до PHP і знайти там аналогічніфункції, записані у процедурно-орієнтованій формі, вони існують.

Після з'єднання з MySQL сервером необхідно створити або вибрати базу даних, з якою будемо працювати.

На сервері MySQL може бути безліч різних баз даних і в кожній базі даних може бути безліч таблиць.

Для створення бази даних MySQL у PHP рекомендується використовувати наступний код:

де myDataBase – це довільна назва створюваної бази даних. Функція mysql_query() - відправляє довільний запит до СУБД MySQL, написаний мовою SQL. У нашому випадку ми надіслали запит на створення бази даних.

Для підключення до наявної бази даних використовується функція select_db(), якій потрібно передати назву бази даних. Наприклад,

2. Створення таблиці

Даний запит можна прочитати так: якщо таблиця phones не створена, то створюємо таблицю phones, з полями: id – ідентифікатор запису та первинний ключ, fio – текстове поле, довжиною не більше 100 символів, phone – текстове поле, довжиною не більше 50 символів.

У створену таблицю можна записати довільну кількість записів.

3. Запит на запис даних

Для того, щоб записати дані до створеної нами таблиці, напишемо наступний запит:

Цим рядком ми додали новий запис до бази даних. У полі fio додали рядок 'Пупкін Василь', у полі phone додали рядок '123-45-67'. Поле ID заповнилося автоматично. Додайте ще кілька довільних записів самостійно.

4. Запит на вибірку даних

Щоб вибрати всі дані з таблиці phones і роздрукувати їх на екрані, напишемо наступний програмний код:

У змінну $r – потрапить результат роботи запиту. Для того, щоб витягти з нього дані з усіх записів БД, застосуємонаступний програмний код:

функція fetch_assoc() дозволяє працювати з одним поточним записом з бази даних, організуючи дані з цього рядка у вигляді масиву. Приміром, запис із поля fio таблиці потрапляє в асоціативний масив $row['fio'].

Можна виводити не всі записи, а записи, що задовольняють будь-якій умові, наприклад, якщо замість

отримаємо список абонентів, прізвища яких починаються на букву 'П'.

Якщо написати запит

то записи будуть упорядковані за абеткою. А якщо написати запит

записи будуть упорядковані назад алфавіту.

5. Запит на зміну даних

6. Запит на видалення даних

Щоб видалити дані з таблиці phones, необхідно написати наступний запит,

Такий запит видаляє всі дані таблиці. Швидше за все нам потрібно видалити лише дані, що задовольняють будь-якій умові, наприклад, видалити всі записи, прізвища в яких починаються на букву 'П'. Для цього напишемо так:

7. Запит на видалення таблиці

Видалити таблицю phones з бази даних MySQL за допомогою PHP можна наступним запитом:

8. Запит на видалення бази даних

Видалити базу даних MySQL можна наступним запитом:

9. Корисні моменти

Якщо вам необхідно дізнатися кількість записів, виданих запитом SELECT, використовуйте значення змінної $r->num_rows, де $r - це результат виконання функції query().

Якщо вам необхідно дізнатися id доданого запису (якщо id задається автоматично), слід після виклику функції $db->query() прочитати значення змінної $db->insert_id.