Запись в базу данных mysql на php через форму
01.09.2018
Рассмотрим на примере, как создать форму, с помощью которой мы будем делать запросы в базу данных mysql на языке php.
1. Создадим разметку html-формы:
<html> <head> </head> <body> <form method="POST" action=""> <input name="name" type="text" placeholder="Имя"/> <input name="text" type="text" placeholder="Текст"/> <input type="submit" value="Отправить"/> </form> </body> </html>Форма отправляется методом POST и обрабатывается на текущей странице.
2. Подключимся к базе данных и напишем запрос для записи.
Как добавлять запись через форму в базу данных
Подключимся к базе данных.
// Переменные с формы $name = $_POST['name']; $text = $_POST['text']; // Параметры для подключения $db_host = "localhost"; $db_user = "user"; // Логин БД $db_password = "123"; // Пароль БД $db_table = "mytable"; // Имя Таблицы БД // Подключение к базе данных $db = mysql_connect($db_host,$db_user,$db_password) OR DIE("Не могу создать соединение "); // Выборка базы mysql_select_db("mydb",$db); // Установка кодировки соединения mysql_query("SET NAMES 'utf8'",$db);Кодировку установили, чтобы избежать лишних проблем (не обязательно).
Урок 32 - Обновление записей в БД через форму
Не забудьте заранее создать таблицу в базе данных с трёмя значениями (id, name, text), подробнее об этом читать здесь .
Далее напишем наш запрос для записи в базу данных и запишем его в переменную.
$result = mysql_query ("INSERT INTO table (name,text) VALUES ('$name','$text')");Создадим небольшую проверку, чтобы знать, выполнился ли наш запрос или нет.
if ($result = 'true'){ echo "Информация занесена в базу данных"; }else{ echo "Информация не занесена в базу данных"; }3. Подключение формы к запросу
Форму создали, к базе подключились и написали запрос, теперь нужно связать всё это.
Форма отправляется методом 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_table = "mytable"; // Имя Таблицы БД // Подключение к базе данных $db = mysql_connect($db_host,$db_user,$db_password) OR DIE("Не могу создать соединение "); // Выборка базы mysql_select_db("mydb",$db); // Установка кодировки соединения mysql_query("SET NAMES 'utf8'",$db); $result = mysql_query ("INSERT INTO ".$db_table." (name,text) VALUES ('$name','$text')"); if ($result = 'true'){ echo "Информация занесена в базу данных"; }else{ echo "Информация не занесена в базу данных"; } }То есть, если существует значения "name" и "text" переданные методом POST, то выполняется подключение к БД и запись в таблицу.