Відправлення запитів до бази даних в php
Відео: Навчання PHP - 14. Передача даних в БД по AJAX
У цій статті ми навчимося відправляти запити до бази даних через PHP. Дана стаття дуже важлива, і її необхідно Вам обов`язково зрозуміти. Однак, заспокою Вас - матеріал дуже простий, тому труднощів бути не повинно.
Перш, ніж перейти до теми статті, я заздалегідь попереджаю, що не буду детально розбирати мова SQL. Вся необхідна інформація розбирається в категорії, присвяченій мови SQL, а тут ми тільки працюємо з MySQL через PHP.
Тепер переходимо до відправці запитів до бази даних в PHP:
lt ;?php
$ mysqli =@new mysqli(`Localhost`,`Admin`,`Pass`,`Mybase`) -
if(mysqli_connect_errno()){
echo "Підключення неможливо:".mysqli_connect_error() -
}
$ mysqli-gt;query(`INSERT INTO mytable (name, email) VALUES ( "MyName", "[email protected]")`) -
$ mysqli-gt;close() -
?gt;
В даному прикладі ми підключилися до бази даних, перевірили успішність підключення, відправили запит за допомогою методу query (), а потім закрили підключення. Як бачите, все дуже просто. Для відправки будь-яких SQL-запитів достатньо всього одного методу - query (), тому в даному випадку все шалено просто.
Відео: PHP PDO Результат запиту в базу даних
Тепер трохи ускладнити завдання. Давайте з Вами розберемо запити, які повертають result_set - результат. Найпопулярніший запит, возврающающій result_set - це вибірка даних з таблиці. У наступному прикладі ми з Вами зробимо вибірку даних, а потім виведемо результат:
lt ;?php
$ mysqli =@new mysqli(`Localhost`,`Admin`,`Pass`,`Mybase`) -
if(mysqli_connect_errno()){
echo "Підключення неможливо:".mysqli_connect_error() -
}
$ result_set = $ mysqli-gt;query(`SELECT * FROM mytable`) -
while($ row = $ result_set-gt;fetch_assoc()){
print_r($ row) -
echo "
"-
}
$ result_set-gt;close() -
$ mysqli-gt;close() -
?gt;
Для початку трохи поясню, що з себе представляє result_set. Result_set - це таблиця з результатом. У цій таблиці є набір записів (рядки таблиці). І для виведення всіх записів треба перебрати кожен рядок таблиці і вивести її. А тепер пояснюю приклад: після відправки запиту у нас формується result_set. Потім ми в циклі присвоюємо змінної row значення чергового рядка, тобто одновимірний масив, який повертає метод fetch_assoc (). Коли всі рядки закінчаться, метод fetch_assoc () поверне false, і буде проведений вихід з циклу. всередині циклу while ми просто виводимо масив з використанням налагоджувальної функції print_r (), хоча, безумовно, можна було б вивести з використанням foreach, але зараз це не потрібно.
Відео: Вивчаємо MySQL | Урок №39 - Додавання записів в БД за допомогою коду
Давайте коротко підведемо підсумок, як потрібно працювати з result_set:
- отримати result_set, відправивши відповідний запит до бази даних.
- У циклі на кожній ітерації привласнювати наступний рядок (запис) з result_set з використанням методу fetch_assoc () деякої змінної row. Далі Ви можете працювати з цієї змінної як з одновимірним асоціативним масивом, у якого ключі - це назви полів таблиці, а значення відповідають поточного запису.
- обов`язково закрийте result_set методом close (), щоб ТРВОДу ресурси.
Як Ви помітили, метод fetch_assoc () повертає завжди такий запис. Тобто спочатку 1-ю, потім 2-ю, потім 3-ю і так далі. Якщо у Вас є непоганий досвід програмування, то Ви відразу здогадаєтеся, що це відбувається завдяки внутрішньому вказівником, який Ви, зрозуміло, можете рухати. Де це використовується? Наприклад, це може використовуватися, коли Вам необхідно попрацювати з result_set НЕ 1, а 2 і більше разів. Щоб заново не формувати той же запит, можна просто пересунути покажчик в початок. І тоді можна знову займатися перебором result_set за допомогою методу fetch_assoc ().
Для зміни положення покажчика існує метод data_seek (), який приймає ціле число від 0 до "кількості записів - 1", Відповідно покажчик встає на відповідну параметру запис:
lt ;?php
$ mysqli =@new mysqli(`Localhost`,`Admin`,`Pass`,`Mybase`) -
if(mysqli_connect_errno()){
echo "Підключення неможливо:".mysqli_connect_error() -
}
$ result_set = $ mysqli-gt;query(`SELECT * FROM mytable`) -
$ result_set-gt;num_rows-
while($ row = $ result_set-gt;fetch_assoc()){
print_r($ row) -
echo "
"-
}
$ result_set-gt;data_seek(0) -
while($ row = $ result_set-gt;fetch_assoc()){
print_r($ row) -
echo "
"-
}
$ result_set-gt;close() -
$ mysqli-gt;close() -
?gt;
У цьому прикладі ми вивели кількість записів в result_set за допомогою властивості num_rows. А також познайомилися з методом data_seek (). Тобто ми перебрали весь результат, потім повернули покажчик на 0-ю запис і знову перебрали результат.
У цій статті ми з Вами повторили підключення до бази даних і закриття підключення. А також дізналися, як відправляти запити до бази даних через PHP. дізналися, як отримувати result_set і як працювати з ним. Це все, що Вам необхідно знати для успішної роботи з MySQL в PHP.
- Як зробити підписку на сайті (v2)
- Як дізнатися останній id в mysql
- Як знайти помилку в sql-запиті
- Як динамічно отримувати коментарі з бази даних.
- Як зробити динамічне додавання коментарів, використовуючи ajax.
- Як зробити коментування на сайті
- Як дізнатися, скільки змінилося рядків після update
- Перевірка зайнятості логіна на ajax
- Pdo. Частина 1.
- Запит sql на створення і видалення бази даних
- Запит sql на вибірку записів
- Знайомство з phpmyadmin
- Обробка помилок в php
- Клас для роботи з базою даних
- Підключення до бази даних в php
- Оптимізація запитів до mysql
- Автоматичне резервне копіювання на php
- Оператор придушення помилок в php
- Навігація по сторінках на php
- Винятки в php
- Визначення країни по ip-адресою через бд