Створіть простий додаток бази даних CRUD: підключення до MySQL за допомогою PHP (Частина 1: Створення, читання)
- Передумови
- Цілі
- Крок 1: Створення переднього кінця
- Частка сторінок індексу та шаблонів
- Додати нову сторінку користувача
- Сторінка запитів користувачів
- Крок 2: Ініціалізація бази даних
- Тестування SQL-запиту
- Використання PDO для підключення до бази даних
- Крок 3. Додавання нового користувача
- Вихід із HTML
- Крок 4. Перегляд і фільтрація користувачів
- Висновок
У цьому підручнику ми дізнаємося, як зробити початок дуже простим додаткам баз даних, використовуючи PHP і MySQL. Це буде половина CRUD застосування, яке означає C reate, R ead, U pdate, D elete.
Швидкий приклад застосування CRUD - це база даних співробітників компанії. З панелі керування адміністратор збирається додати нового співробітника (створити), переглянути список співробітників (прочитати), змінити зарплату працівника (оновлення) або вилучити звільненого співробітника з системи (видалити). У цьому уроці ми будемо тільки створювати та читати записи, але якщо це стане популярним, я зроблю другу частину.
Пошук підключення до MySQL з PHP в Google призведе до використання багато застарілих ресурсів застаріли Код, і моя мета полягає в тому, щоб створити дуже просте покрокове керівництво, яке залишить вас технічно функціонуючою програмою, яка використовує більш сучасні та безпечні методи.
Це, як кажуть, я залишаю вас із застереженням, що цей підручник призначений для навчальних цілей для початківців - завжди може бути поліпшення безпеки та ремонтопридатності коду в реальному світі.
Передумови
- Базові знання HTML - ми будемо використовувати Форми HTML .
- Базові знання PHP - я зроблю все можливе, щоб максимально спростити, але ви вже повинні мати уявлення про те, як працюють змінні та рядки. Ось основний посібник для деяких основ .
- Місцеве середовище PHP і MySQL - Натисніть посилання для міні-підручника про те, як встановити його. Ви будете використовувати MAMP встановити PHP і MySQL на комп'ютері Windows або Apple.
- Альтернативно: ви можете використовувати Vagrant Встановлювати LAMP на Ubuntu якщо ви більш просунуті.
- Додаток для управління базами даних - Ви можете використовувати Sequel Pro на Mac і SQLYog на Windows. Це графічні інтерфейси користувача (GUI) для перегляду вмісту вашої бази даних.
Цілі
- Підключення до бази даних MySQL за допомогою PHP PDO (об'єкти даних PHP) метод.
- Створіть скрипт інсталятора, який створює нову базу даних і нову таблицю зі структурою.
- Додайте записи до бази даних за допомогою HTML-форми та підготовлені виписки .
- Фільтрувати записи бази даних і роздруковувати їх у документ HTML у таблиці.
Весь код у цій статті можна знайти на GitHub.
Крок 1: Створення переднього кінця
Для початку ми маємо налаштування локального хоста PHP, як було зазначено в наших попередніх умовах. Я створив один і назвав його db.dev . Створимо каталог у відкритому / в корені нашого проекту. Саме тут я збираюся розмістити весь мій клієнтський код або сторінки, доступні з Інтернету.
Chrome більше не дозволяє домени .dev localhost. Рекомендую використовувати .test замість .dev . У цій статті, у прикладах буде використано .dev .
Переконайтеся, що ви прочитали вищезгадану примітку, перш ніж продовжити.
Ми не маємо налаштованої бази даних або що-небудь, але ми просто збираємося налаштувати HTML передній кінець, щоб бути готовим почати взаємодію з цими даними.
Частка сторінок індексу та шаблонів
Наша головна / головна сторінка буде розташована в index.php , тому створіть цей файл у вашій публічній / директорії.
public / index.php
<! DOCTYPE html> <html lang = "en"> <голова> <мета charset = "utf-8" /> <meta http-equiv = "сумісний з x-ua" content = "ie = edge" /> < meta name = "viewport" content = "ширина = ширина пристрою, initial-scale = 1" /> <title> Простий додаток бази даних </ title> <link rel = "stylesheet" href = "css / style.css" / > </ head> <body> <h1> Простий додаток бази даних </ h1> <ul> <li> <a href = "create.php"> <сильний> Створити </ strong> </ a> - додати користувача </ li> <li> <a href = "read.php"> <strong> Читати </ strong> </ a> - знайти користувача </ li> </ ul> </ body> </ html>
Зараз у нас є лише базовий HTML-скелет, який посилається на наші сторінки для створення та читання . Ось як це виглядає:

Оскільки ми хочемо зберегти нашу програму відносно СУХІ (не повторюйте себе) , ми збираємося розділити нашу сторінку на розділи макета.
Створіть загальнодоступний каталог / templates / і зробіть header.php і footer.php . Ви візьмете все з тегу <h1> і виставите його в шапку.
public / templates / header.php
<! DOCTYPE html> <html lang = "en"> <голова> <мета charset = "utf-8" /> <meta http-equiv = "сумісний з x-ua" content = "ie = edge" /> < meta name = "viewport" content = "ширина = ширина пристрою, initial-scale = 1" /> <title> Простий додаток бази даних </ title> <link rel = "stylesheet" href = "css / style.css" / > </ head> <body> <h1> Простий додаток бази даних </ h1> </ body> </ html>
А ось футер.
public / templates / footer.php
Все, що залишається в index.php на цьому етапі, є посиланнями на наші дві інші сторінки.
public / index.php
<ul> <li> <a href = "create.php"> <сильний> Створити </ strong> </ a> - додати користувача </ li> <li> <a href = "read.php"> < strong> Читати </ strong> </ a> - знайти користувача </ li> </ ul>
Ми хочемо включити код верхнього та нижнього колонтитулів до всіх наших передніх кінцевих сторінок, тому будемо використовувати a PHP включає функцію щоб витягти цей код.
public / index.php
<? php включають; ?> <ul> <li> <a href = "create.php"> <сильний> Створити </ strong> </ a> - додати користувача </ li> <li> <a href = "read.php" > <strong> Читати </ strong> </ a> - знайти користувача </ li> </ ul> <? php включати; ?>
Тепер передній кінець нашого індексного файлу виглядає так само, як і раніше, але ми маємо код багаторазового розташування, який можна використовувати на інших сторінках.
Додати нову сторінку користувача
Тепер ми збираємося зробити файл з назвою create.php назад до нашого публічного каталогу. Це буде сторінка, яку ми використовуємо для додавання нового користувача до бази даних. Ми запустимо файл з завантаженим нами колонтитулом.
public / create.php
<? php включають; ?> <? php включають; ?>
Я збираюся створити тут просту форму, яка збирає ім'я, прізвище, адресу електронної пошти, вік та місцезнаходження нового користувача.
public / create.php
<? php включають; ?> <h2> Додати користувача </ h2> <form method = "post"> <label for = "firstname"> Ім'я </ label> <input type = "text" name = "firstname" id = "firstname "> <label for =" lastname "> Прізвище </ label> <input type =" text "name =" lastname "id =" lastname "> <label for =" email "> Адреса електронної пошти </ label> <input type = "text" name = "email" id = "email"> <label for = "age"> Вік </ label> <input type = "text" name = "age" id = "age"> <label for = "location"> Розташування </ label> <input type = "text" name = "location" id = "location"> <input type = "submit" name = "submit" value = "Додати"> </ form> <a href = "index.php"> Повернутися на головну сторінку </ a> <? php include; ?>
Ви помітите, що для кожного запису я маю <label>, і кожен <input> має атрибут name і id.
Коли ми створюємо форми з HTML, ми повинні переконатися, що вони є доступні для всіх користувачів , і ми робимо це, створюючи мітки і пов'язуючи кожну з них з конкретним. Вхід пов'язаний з міткою за його ідентифікатором.
Так чому ж у мене є name = "firstname", а також id = "firstname", якщо тільки ідентифікатор необхідний для того, щоб пов'язати вхідні дані з міткою?
Атрибут name - це те, як PHP ідентифікує і використовує дані вводу, про які ми почнемо в подальшому потрапити в цій статті. Тому і ім'я, і атрибути id необхідні, але з різних причин.
Перш ніж відображати передній кінець коду create.php , давайте швидко створимо папку css / і зробимо style.css . CSS і стиль не є фокусом цієї статті, але я збираюся додати рядок CSS-коду, щоб полегшити читання форм.
public / css / style.css
мітка {display: block; маржа: 5px 0; }

Ми не вказали дію форми, тому натискання кнопки "Надіслати" виконає дію на тій же сторінці. Оскільки ми ще не написали жодного PHP-коду для обробки форми, він нічого не зробить.
Сторінка запитів користувачів
Нарешті, ми створимо наш файл read.php , який запитує список користувачів за параметром (в даному випадку, розташуванням) і роздруковує результати.
Знову ж таки, ми почнемо з коду верхнього та нижнього колонтитулів.
public / read.php
<? php включають; ?> <? php включають; ?>
Потім ми додамо невелику форму для пошуку користувачів за місцем розташування.
public / read.php
<? php включають; ?> <h2> Знайти користувача на основі розташування </ h2> <form method = "post"> <label for = "location"> Місцезнаходження </ label> <input type = "text" id = "location" name = " location "> <input type =" submit "name =" submit "value =" Переглянути результати "> </ form> <a href =" index.php "> Повернутися на головну </ a> <? php include; ?>

Тепер у вас створений весь код переднього кінця, і ми можемо почати. Ось все, що ви повинні мати до цих пір.
public / | - css / | | - style.css | - шаблони / | | - header.php | | - footer.php | - index.php | - create.php | - read.php
Ось більш наочне уявлення про це.

Крок 2: Ініціалізація бази даних
Тепер, коли у нас є передній кінець, ми збираємося створити базу даних. Ми могли б зробити це за допомогою графічного інтерфейсу SequelPro або будь-якого іншого менеджера баз даних, який ми використовуємо, але я хочу показати вам, як це зробити з фактичними операторами SQL і PHP у скрипті інсталятора.
SQL (Мова структурованих запитів) - це мова, яка використовується для зв'язку з базою даних.
По-перше, потрапимо до бази даних. Ось сторінка входу для передньої частини нашої бази даних.

Ваш хост буде localhost або 127.0.0.1, що перекладається на те ж саме для наших цілей. Ім'я користувача та пароль будуть корінними. Увійшовши до цієї інформації, ви зможете ввести localhost.

Створіть каталог під назвою data / і створіть файл з назвою init.sql . Це буде код ініціалізації бази даних.
data / init.sql
Тест CREATE DATABASE; використання тесту; CREATE TABLE users (id INT (11) UNSIGNED AUTO_INCREMENT PRIMARY KEY, ім'я VARCHAR (30) НЕ NULL, ім'я VARCHAR (30) NOT NULL, email VARCHAR (50) NOT NULL, вік INT (3), місце розташування VARCHAR (50), дата TIMESTAMP);
SQL є відносно простим кодом, так що навіть якщо ви його ніколи раніше не бачили, його слід легко зрозуміти. Ось що означає вищезгадане на простому англійській мові:
Ми збираємося створити базу даних з тестом. Тоді ми переконаємося, що використовуємо тест для решти коду. У тестовій базі даних ми створимо таблицю, що називається користувачами з 7 полями - ідентифікатор , ім'я , прізвище , адреса електронної пошти , вік , місцезнаходження та дата . Поруч із кожним полем наведено додаткові відомості, параметри та налаштування для кожного з них.
- INT () - це ціле число . Ми задали INT (11), що означає до 11 символів
- AUTO_INCREMENT - це число, яке автоматично збільшується з кожним записом.
- VARCHAR () - змінна символу , це рядок, який може містити букви і цифри. Число в межах - це максимальна кількість дозволених символів.
- TIMESTAMP - за замовчуванням буде додано поточний час у форматі YYYY-MM-DD HH: MI: SS.
Тестування SQL-запиту
Якщо ви дійсно хочете побачити, що цей код буде робити, перш ніж ми створимо інсталятор, ви можете вставити його в розділ запитів програми баз даних і запустити вибір .

Якщо ви зробили це, ви побачите, що тепер у мене є тестова база даних, таблиця користувачів і вся структура бази даних.

Тому ми знаємо, що наш SQL працює правильно і не має помилок. Якщо ви зробили це, видаліть базу даних, тому що ми почнемо знову і зробимо це за допомогою сценарію.
Використання PDO для підключення до бази даних
Ми будемо використовувати PDO (об'єкти даних PHP) для підключення до бази даних. Іншим основним варіантом є MySQLi . Критична відмінність між ними полягає в тому, що ви можете використовувати PDO для підключення до будь-якої кількості баз даних, і код mysqli працюватиме тільки з MySQL. Хоча ми використовуємо базу даних MySQL, PDO є більш розширюваною в майбутньому, і в цілому кращим вибором для нових проектів. Отже, давайте створимо це з'єднання.
Створіть файл з назвою install.php у корені каталогу.
Ми створимо новий об'єкт PDO () і помістимо його в змінну з назвою $ connection.
install.php
Об'єкт PDO запитує чотири параметри:
- DSN (назва джерела даних) , що включає тип бази даних, ім'я хоста, назву бази даних (необов'язково)
- Ім'я користувача для підключення до хосту
- Пароль для підключення до хосту
- Додаткові опції
install.php
$ connection = new PDO (ім'я джерела даних, ім'я користувача, пароль, опції);
Ось як це закінчується, шукаючи після заповнення всіх параметрів.
install.php
new PDO (,,, масив (PDO:: ATTR_ERRMODE => PDO:: ERRMODE_EXCEPTION););
Тепер ми збираємося організувати його трохи більше, розмістивши всю нашу базу даних в змінних.
install.php
$ connection = новий PDO (, $ username, $ password, $ options);
Ми створимо файл config.php, який містить всі змінні, з яких ми можемо звертатися.
config.php
<? php $ host =; $ username =; $ password =; $ dbname =; $ dsn =; $ options = array (PDO:: ATTR_ERRMODE => PDO:: ERRMODE_EXCEPTION);
Ось що ми маємо в нашому інсталяторі. Ми забираємо змінні бази даних за допомогою config.php, використовуючи require, який схожий на include, за винятком того, що ми явно заявляємо, що файл необхідний для запуску сценарію.
install.php
вимагати; $ connection = новий PDO (, $ username, $ password, $ options);
Тепер прийшов час поставити цей код SQL, який ми створили раніше, для використання. Ми розміщуємо вміст файлу data / init.sql у змінній, використовуючи функцію file_get_contents (), і виконуємо її з функцією exec ().
$ sql = file_get_contents (); $ connection -> exec ($ sql);
На цьому етапі ми хочемо використовувати Винятки спробувати запустити скрипт і зловити помилки. Ми зробимо це, поставивши весь наш код у блок try / catch, який виглядає так:
Давайте розмістимо наш код бази даних в блоці try і покажемо наше повідомлення про помилку PDOException, якщо щось піде не так, намагаючись налаштувати базу даних. Ось остаточний код для інсталятора.
install.php
<? php require; try {$ connection = новий PDO (, $ username, $ password, $ options); $ sql = file_get_contents (); $ connection -> exec ($ sql); луна; } catch (PDOException $ error) {echo $ sql. . $ error -> getMessage (); }
Щоб запустити установку, просто перейдіть до файлу install.php на передньому кінці.

Якщо ви не видалили базу даних з нашого тесту раніше, ви можете отримати цю помилку, і в цьому випадку вам потрібно буде видалити базу даних для запуску інсталятора.

Вітаємо, ви тільки що зробили скрипт установки, щоб створити нову базу даних і таблицю зі структурою!
Крок 3. Додавання нового користувача
Тепер ми нарешті напишемо якийсь код, щоб зробити ці форми щось.
У PHP, коли ви подаєте форму, всі входи поміщаються в масив $ _POST. Отже, мій <input type = "text" name = "firstname"> буде перекладено на $ _POST ['firstname'] для роботи з нами.
Ми повернемося до файлу public / create.php. Зараз це лише форма з втягуванням верхнього та нижнього колонтитула. Новий код, який ми напишемо, буде додано у верхню частину файлу.
По-перше, ми хочемо повідомити цей код лише для запуску, якщо форма надіслана.
if (isset ($ _POST [])))
Як і у випадку з інсталятором, ми будемо вимагати нашого конфігураційного файлу і використовувати виключення try / catch для підключення до бази даних.
Якщо ви помітите, у сценарії install.php я підключався до mysql: host = $ host у першому параметрі (DSN). Я не вказав назву бази даних, оскільки ми створювали базу даних у файлі. Тепер, коли створюється база даних (з назвою test), я додаю це до першого параметра. $ dsn встановлено на mysql: host = $ host; dbname = $ dbname.
if (isset ($ _POST [])) {потрібно; try {$ connection = new PDO ($ dsn, $ username, $ password, $ options); } catch (PDOException $ error) {echo $ sql. . $ error -> getMessage (); }}
Давайте створимо масив з усіма поданими нами значеннями форм.
$ new_user = масив (=> $ _POST [], => $ _POST [], => $ _POST [], => $ _POST [], => $ _POST []);
Ми можемо використовувати звичайні змінні $ _POST без додаткової санітарії, тому що ми надсилаємо їх до бази даних підготовлені виписки .
Тепер, SQL-код, який ми хочемо виконати, буде виглядати так: INSERT INTO () значення (: n). У нашому випадку це буде код нижче.
INSERT INTO - значення користувачів (ім'я, прізвище, адреса електронної пошти, вік, місцезнаходження) (: firstname,: lastname,: email,: age,: location)
Ми могли б виписати цей код вручну і додати кожне значення кожен раз при додаванні, але тоді ми оновлюємо речі в трьох місцях і це стає біль. Я дізнався зручний фрагмент коду з JeffreyWay з Ларакасти спростити цей процес.
Ми будемо використовувати sprintf, що дозволяє нам робити наступне: INSERT INTO x (y) значення (: z).
$ sql = sprintf (,, implode (, array_keys ($ new_user)), .mplode (, array_keys ($ new_user)));
Цей код роздрукує точно таку саму річ, без необхідності писати її кілька разів. Тепер ми просто підготуємо та виконаємо код.
$ statement = $ connection -> готувати ($ sql); $ statement -> execute ($ new_user);
Ось повний код всередині блоку try.
$ connection = new PDO ($ dsn, $ username, $ password, $ options); $ new_user = масив (=> $ _POST [], => $ _POST [], => $ _POST [], => $ _POST [], => $ _POST []); $ sql = sprintf (,, implode (, array_keys ($ new_user)), .mplode (, array_keys ($ new_user))); $ statement = $ connection -> готувати ($ sql); $ statement -> execute ($ new_user);
Тепер форма готова до відправки. Я збираюся заповнити інформацію і надіслати її.

Увійшовши до мого MySQL, якщо все пройшло добре, тепер я можу переглянути мій запис у базі даних!

Відмінно! Є ще одна річ, яку я хочу зробити. Зараз, після подання форми, ніщо не дає мені знати, що користувач успішно надіслано.
Вихід із HTML
Оскільки в цьому випадку ми будемо роздруковувати змінну $ _POST до HTML, нам потрібно правильно конвертувати символи HTML , що допоможе запобігти атакам XSS.
Створимо новий файл, який називається common.php в корені вашого проекту. Натхнення для цієї функції та назви файлу прийшло Навчальний посібник з блогу Джона . Це файл, який можна використовувати для зберігання функцій для подальшого використання. Я тільки збираюся використовувати його для однієї функції сьогодні - функція витікання HTML.
common.php
<? php function escape ($ html) {повернути htmlspecialchars ($ html, ENT_QUOTES | ENT_SUBSTITUTE,); }
За допомогою цієї функції ми можемо перенести будь-яку змінну в функцію escape (), і HTML об'єкти будуть захищені.
Назад у public / create.php , додайте запит "common.php" ;. Тепер я збираюся додати цю заяву нижче мого заголовка і над заголовком "Додати користувача". Вона перевірятиме, чи було надіслано $ _POST, і чи було успішним вираження $. Якщо так, то буде надруковано повідомлення про успіх, яке включає перше ім'я успішно доданого користувача.
<? php if (isset ($ _POST []) && $ statement) {?> <? php echo escape ($ _POST []); ?> успішно додано. <? php}?>

І це все! Ось останній код для додавання нового користувача.
public / create.php
<? php if (isset ($ _POST []))) {потрібно; вимагати; try {$ connection = new PDO ($ dsn, $ username, $ password, $ options); $ new_user = масив (=> $ _POST [], => $ _POST [], => $ _POST [], => $ _POST [], => $ _POST []); $ sql = sprintf (,, implode (, array_keys ($ new_user)), .mplode (, array_keys ($ new_user))); $ statement = $ connection -> готувати ($ sql); $ statement -> execute ($ new_user); } catch (PDOException $ error) {echo $ sql. . $ error -> getMessage (); }}?> <? php вимагає; ?> <? php if (isset ($ _POST []) && $ statement) {?>> <? php echo $ _POST []; ?> успішно додано. <? php}?> <h2> Додати користувача </ h2> <form method = "post"> <label for = "firstname"> Ім'я </ label> <input type = "text" name = "firstname" id = "firstname"> <label for = "lastname"> Прізвище </ label> <input type = "text" name = "lastname" id = "lastname"> <label for = "email"> Адреса електронної пошти </ label> <input type = "text" name = "email" id = "email"> <label for = "age"> Вік </ label> <input type = "text" name = "age" id = "age" > <label for = "location"> Розташування </ label> <input type = "text" name = "location" id = "location"> <input type = "submit" name = "submit" value = "Додати"> </ form> <a href = "index.php"> Повернутися на головну </ a> <? php require; ?>
Крок 4. Перегляд і фільтрація користувачів
Ось останній крок - "читання" нашого додатка CRUD. Ми вже створили фронт в public / read.php .
Дуже швидко, давайте додамо невелику кількість CSS до нашого файлу public / css / style.css, щоб зробити таблицю чіткою, як тільки ми їх створимо.
public / css / style.css
table {border-collapse: колапс; інтервал: 0; } td, th {заповнення: 5px; кордон-нижній: 1px твердий #aaa; }
Тепер ми будемо використовувати те ж саме з нашої нової сторінки користувача, а також блок try / catch для підключення до бази даних.
public / read.php
if (isset ($ _POST [])) {try {вимагати; вимагати; $ connection = new PDO ($ dsn, $ username, $ password, $ options); } catch (PDOException $ error) {echo $ sql. . $ error -> getMessage (); }}?>
Тепер ми напишемо запит SELECT SQL. Ми збираємося вибрати всі (*) з таблиці користувачів і відфільтрувати за місцем розташування.
$ sql =;
Потім ми розмістимо наш $ _POST у змінному.
$ location = $ _POST [];
Підготовка, прив'язка та виконання оператора.
$ statement = $ connection -> готувати ($ sql); $ statement -> bindParam (, $ location, PDO:: PARAM_STR); $ statement -> execute ();
Нарешті, отримаємо результат.
$ result = $ statement -> fetchAll ();
Ось повний код підключення.
$ connection = new PDO ($ dsn, $ username, $ password, $ options); $ sql =; $ location = $ _POST []; $ statement = $ connection -> готувати ($ sql); $ statement -> bindParam (, $ location, PDO:: PARAM_STR); $ statement -> execute (); $ result = $ statement -> fetchAll ();
Чудово, зараз у нас є весь процес для отримання відфільтрованих даних. Залишилося лише роздрукувати результат.
За межами блоку з'єднань try / catch і під заголовком я вставляю код для таблиці.
Ми перевіримо - якщо це запит POST, і якщо результат нашого запиту має більше 0 рядків, відкрийте таблицю, пропустіть всі результати і закрийте таблицю. Якщо результатів немає, відкрийте повідомлення.
if (isset ($ _POST [])) {if ($ result && $ твердження -> rowCount ()> 0) {foreach ($ result as $ row) {}} else {}}
Ось останній код.
public / read.php
<? php if (isset ($ _POST []))) {try {require; вимагати; $ connection = new PDO ($ dsn, $ username, $ password, $ options); $ sql =; $ location = $ _POST []; $ statement = $ connection -> готувати ($ sql); $ statement -> bindParam (, $ location, PDO:: PARAM_STR); $ statement -> execute (); $ result = $ statement -> fetchAll (); } catch (PDOException $ error) {echo $ sql. . $ error -> getMessage (); }}?> <? php вимагає; ?> <? php if (isset ($ _POST []))) {if ($ result && $ твердження -> rowCount ()> 0) {?> <h2> Результати </ h2> <table> <thead> <tr > <th> # </ th> <th> Ім'я </ th> <th> Прізвище </ th> <th> Адреса електронної пошти </ th> <th> Age </ th> <th> Location </ th> th> <th> Дата </ th> </ tr> </ thead> <tbody> <? php foreach ($ result as $ row) {?> <tr> <td> <? ]); ?> </ td> <td> <? php echo escape ($ row []); ?> </ td> <td> <? php echo escape ($ row []); ?> </ td> <td> <? php echo escape ($ row []); ?> </ td> <td> <? php echo escape ($ row []); ?> </ td> <td> <? php echo escape ($ row []); ?> </ td> <td> <? php echo escape ($ row []); ?> </ td> </ tr> <? php}?> </ tbody> </ table> <? php} else {?>> Не знайдено результатів для <? php echo escape ($ _POST []); ?>. <? php}}?> <h2> Знайти користувача на основі розташування </ h2> <form method = "post"> <label for = "location"> Розташування </ label> <input type = "text" id = " location "name =" location "> <input type =" submit "name =" submit "value =" Переглянути результати "> </ form> <a href =" index.php "> Повернутися на головну </ a> <? php вимагає; ?>
Після додавання декількох записів, я можу зіграти з ним. Я вводив місто.

І перегляньте результати.

Вітаємо, тепер у вас є початок простого додатка бази даних PHP без фреймворків.
Висновок
Тепер, коли ви навчилися створювати та читати записи, перевірте частину другу!
На Частина 2: Оновлення та видалення
У цьому навчальному посібнику ми вивчали багато цінних уроків, включаючи, але не обмежуючись цим: підключення до бази даних MySQL з PDO, створення скрипта інсталятора, вставки користувачів у базу даних, вибір і друк користувачів з бази даних, а також уникнення друку .
Якби це було реальним світом, то, звичайно, було б більше міркувань. Бекенда повинна бути захищена паролем, що означає, що ви б створили сторінку входу та адміністративних користувачів, які мають доступ до програми.
Також потрібно додати перевірку JavaScript на передній частині сайту, щоб забезпечити заповнення всіх необхідних полів, і використовувати правильний тип символів для вводу. (Незважаючи на те, що перевірка JavaScript є важливою, найважливішою частиною є захист заднього кінця, який отримує ваші дані).
Знову ж таки, доступний весь код цієї статті на GitHub якщо ви заблукали у дорозі. Якщо у вас є пропозиції щодо того, як зробити навчальний посібник більш ясним або більш безпечним, будь ласка, не соромтеся ділитися! Однак врахуйте, що це перший погляд на базовий код управління базами даних, а не повноцінний додаток.
Я пишу про JavaScript, програмування і дизайн інтерфейсу. Приєднуйтесь до більш ніж 6 000 інших розробників у відповідності до мого вмісту Скасувати підписку щоразу. Ніколи жодного спаму, оголошень або партнерських посилань.
Php включають; ?Php" > <strong> Читати </ strong> </ a> - знайти користувача </ li> </ ul> <?
Php включати; ?
Php включають; ?
Gt; <?
Php включають; ?
Php включають; ?
Php include; ?
Так чому ж у мене є name = "firstname", а також id = "firstname", якщо тільки ідентифікатор необхідний для того, щоб пов'язати вхідні дані з міткою?
Php включають; ?