Запись в базу данных mysql на php через форму
![]()
Рассмотрим на примере, как создать форму, с помощью которой мы будем делать запросы в базу данных mysql на языке php, используя PDO.
1. Создадим разметку html-формы
Запись в БД через форму на php
Форма отправляется методом POST и обрабатывается на текущей странице.
2. Создадим таблицу, в которую будем записывать данные
Можно выполнить через SQL в PhpMyAdmin или ручками.
CREATE TABLE `mytable` ( `id` int(20) NOT NULL PRIMARY KEY AUTO_INCREMENT, `name` varchar(255) CHARACTER SET utf32 NOT NULL, `text` text NOT NULL )
3. Подключимся к базе данных и напишем запрос для записи.
Подключимся к базе данных.
// Переменные с формы $name = $_POST['name']; $text = $_POST['text']; // Параметры для подключения $db_host = "localhost"; $db_user = "user"; // Логин БД $db_password = "123"; // Пароль БД $db_base = 'mybase'; // Имя БД $db_table = "mytable"; // Имя Таблицы БД try < // Подключение к базе данных $db = new PDO("mysql:host=$db_host;dbname=$db_base", $db_user, $db_password); // Устанавливаем корректную кодировку $db->exec("set names utf8"); > catch (PDOException $e) < // Если есть ошибка соединения, выводим её print "Ошибка!: " . $e->getMessage() . "
"; >
Кодировку установили, чтобы избежать лишних проблем (не обязательно).
Не забудьте заранее создать таблицу в базе данных с трёмя значениями (id, name, text), подробнее об этом читать здесь.
Далее напишем наш запрос для записи в базу данных и запишем его в переменную.
// Собираем данные для запроса $data = array( 'name' => $name, 'text' => $text ); // Подготавливаем SQL-запрос $query = $db->prepare("INSERT INTO $db_table (name, text) values (:name, :text)"); // Выполняем запрос с данными $query->execute($data);
Здесь мы сначала все наши данные для записи записываем в переменную $data, затем подготавливаем запрос с плейсохледарами (переменные) и выполняем запрос передавая ему данные для заполнения из $data
Создадим небольшую проверку, чтобы знать, выполнился ли наш запрос или нет.
if ($result)
4. Подключение формы к запросу
Форму создали, к базе подключились и написали запрос, теперь нужно связать всё это.
Форма отправляется методом POST, поэтому мы можем сделать проверку на него, а именно на любое поле формы.
У нас передаются поля с именами «name» и «text», на них мы и сделаем проверку.
Вставим весь наш скрипт в эту проверку:
if (isset($_POST['name']) && isset($_POST['text']))< // Переменные с формы $name = $_POST['name']; $text = $_POST['text']; // Параметры для подключения $db_host = "localhost"; $db_user = "user"; // Логин БД $db_password = "123"; // Пароль БД $db_base = 'mybase'; // Имя БД $db_table = "mytable"; // Имя Таблицы БД try < // Подключение к базе данных $db = new PDO("mysql:host=$db_host;dbname=$db_base", $db_user, $db_password); // Устанавливаем корректную кодировку $db->exec("set names utf8"); // Собираем данные для запроса $data = array( 'name' => $name, 'text' => $text ); // Подготавливаем SQL-запрос $query = $db->prepare("INSERT INTO $db_table (name, text) values (:name, :text)"); // Выполняем запрос с данными $query->execute($data); // Запишим в переменую, что запрос отрабтал $result = true; > catch (PDOException $e) < // Если есть ошибка соединения или выполнения запроса, выводим её print "Ошибка!: " . $e->getMessage() . "
"; > if ($result) < echo "Успех. Информация занесена в базу данных"; >>
То есть, если существует значения «name» и «text» переданные методом POST, то выполняется подключение к БД и запись в таблицу.
Как подключить форму html к бд mysql??
Все просто. 1) Сначала нужно получить данные из html формы. Вот как это сделать: https://fructcode.com/ru/courses/php-and-mysql/video-form-get-and-post/ 2) Потом эти данные нужно вставить в базу данных через insert: https://fructcode.com/ru/courses/php-and-mysql/video-sql-insert/ Вот здесь в ответе готовый пример получения данных из HTML формы и вставки его в базу данных + вывод данных из базы, на пример домашнего задания про плеер: https://fructcode.com/ru/qa/phpmysql-nzifh/
Sign up or Log in to write an answer
- Интерактивные уроки и курсы программирования и создания сайтов (дистанционное обучение) помогут вам в игровой форме изучить основы языков программирования веб-разработки и веб-программирования с нуля. Обучение онлайн 24/7.
Общие ссылки
- Отзывы
- Политика конфидециальности
- Условия использования
- Блог
- Цена и оплата
- Курсы и скринкасты
- Сертификаты
- Партнерская программа
- Комьюнити
Наши курсы и скринкасты
- HTML/CSS Advanced
- Bootstrap 4
- Vue JS
- Linux, GIT and web-hosting
- HTML and CSS
- Modern Javascript
- Javascript/jQuery
- Codeigniter
- Все курсы и скринкасты
Запись в базу данных через форму
Здравствуйте прохожу курс PHP. Там была домашняя работа, в которой надо сделать форму, информация из формы должна идти в базу данных.
У меня не получается. Пробовал искать в интернете. Там есть информация и, даже, готовый код, но он не работает. Помогите пожалуйста.
Костя Соколов
5 years ago
А что конкретно не получается? Код покажи, что не работает, какие ошибки.
Pavel Lazarev
5 years ago
if (isset($_POST[‘name’]) && isset($_POST[‘autor’]))
// Переменные с формы
$name = $_POST[‘name’];
$autor = $_POST[‘autor’];
// Параметры для подключения
$db_host = «localhost»;
$db_user = «root»; // Логин БД
$db_password = «»; // Пароль БД
$db_base = ‘player’; // Имя БД
$db_table = «player»; // Имя Таблицы БД
// Подключение к базе данных
$mysqli = new mysqli($db_host,$db_user,$db_password,$db_base);
// Если есть ошибка соединения, выводим её и убиваем подключение
if ($mysqli->connect_error) die(‘Ошибка : (‘. $mysqli->connect_errno .’) ‘. $mysqli->connect_error);
>
$result = $mysqli->query(«INSERT INTO player VALUES (null, ‘$name’,’$autor)»);
Пишет «Информация не занесена в базу данных».
Но почему, я не разобрался.
Костя Соколов
5 years ago
тут $db_base = ‘player’; // Имя БД
почему-то одинарные кавыки не как везде двойные
в самом запросе смотри тоже кавычки
query(«INSERT INTO player VALUES (null, ‘$name’,’$autor)»);
после $autor — пропущена кавычка.
если не заработает для диагностики ошибок используй
Pavel Lazarev
5 years ago
Болое спасибо, все заработало.
Форма регистрации на PHP с использованием базы данных MySQL
Наша задача состоит в том, чтобы создать форму регистрации и обработчик на языке PHP, в которой, если пользователь вводит данные, То данные HTML-формы сохраняются в нашу базу данных MySQL.
Подключаемся к БД
- Для начала создадим нашу базу данных MySQL и таблицу в соответствии с нашими требованиями.
- Мы подключаем нашу базу данных MySQL с помощью функции PHP mysqli_connect(), которая принимает четыре аргумента, то есть наши «имя сервера», «имя пользователя», «пароль» и «базу данных».
Примечание: здесь не используется код CSS, поскольку мы используем Bootstrap в коде PHP ниже. Вы можете применить CSS стили в своих приложениях, если захотите.
Для соединения с БД создадим PHP файл «dbconnect.php», а имя для нашей базы базы данных выберем — «testdatabase».
else < die("Error". mysqli_connect_error()); >?>
Таблица «users » создается с помощью инструмента MySQL phpMyAdmin, как показано ниже.

Создаем форму регистрации
теперь, когда мы успешно подключились к нашей базе данных, пора создать форму регистрации для пользователей. Следующий код описывает нашу форму регистрации. Используемое имя таблицы базы данных MySql — «users».
> else < $showError = "Passwords do not match"; >> if($num>0) < $exists="Username not available"; >>//end if ?> Success! Your account is now created and you can login.