Основні прийоми роботи з СУБД 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.