Как добавить запись в базу данных php mysql
Перейти к содержимому

Как добавить запись в базу данных php mysql

  • автор:

как добавить данные в базу через форму. MySQL PHP

На MyPhpAdmin создана база с таблицей users и news. В users находится информация о пользователях с их данными, в таблице news содержится информация о статьях. Так вот, нужно по нажатию на кнопку, добавлять данные в таблицу и выводить их на странице news.php. Так же не знаю, как сделать вывод логина с которого была отправлена запись. в news.php находится следующий код, который должен выводить содержимое таблицы

 query("INSERT INTO 'users' ('id','username', 'picture', 'descr') VALUES (NULL,'$username', '$picture','$descr')"); if ($add == true)< echo "Информация занесена в базу данных"; >else < echo "Информация не занесена в базу данных"; >?> 

Всё это планируется разместить внутри блока и применить стили.

Работа с базами данных в PHP Запись информации в базу данных MySQL с помощью PHP

Чтобы сделать запись в таблицу базы данных MySQL с помощью PHP, необходимо совершить следующие действия:
Получить информацию с веб страницы с помощью HTML формы
Подключиться к базе данных MySQL
Переводим данные из HTML формы в формат базы данных
Проверить корректность подключения к базе данных
Сформировать SQL запрос на запись в следующем формате
INSERT INTO имя таблицы (поле 1, поле 2 . ) VALUES ($значение поля 1,$значения поля 2 . )
Осуществить запрос к базе данных MySQL
Проверить корректность запроса
Закрыть соединение с базой данных

запись в базу

Разберём алгоритм записи информации в базу данных MySQL с помощью PHP на примере.
В статье Работа с базами данных в php мы создали таблицу Users с полями ID, name, age
Напишем PHP сценарий, который добавляет запись в эту таблицу
Сформируем HTML форму для получения данных с веб страницы

Введите своё имя

Введите свой возраст

Подробнее о работе с HTML формами
Осуществляем подключение к базе данных MySQL и делаем проверку на корректность.
Подробнее о работе с базами данных MySQL
if(isset($_GET[‘formSubmit’])) $nameform=$_GET[‘name’];
$ageform=$_GET[‘age’];
$mysqli = new mysqli(«localhost», «root», «root», «base_db»);
if ($mysqli->connect_errno) echo «Извините, возникла проблема на сайте»;
echo «Ошибка: Не удалось создать соединение с базой MySQL по данной причине: «;
echo «Номер ошибки: » . $mysqli->connect_errno . » «;
echo «Ошибка: » . $mysqli->connect_error . » «;
exit;
>
Переводим данные из HTML формы в формат базы данных MySQL
$name = ‘»‘.$mysqli->real_escape_string($nameform).'»‘;
$age = ‘»‘.$mysqli->real_escape_string($ageform).'»‘;
Формируем и осуществляем SQL запрос на ввод данных в таблицу базы данных MySQL
$query = «INSERT INTO users (name,age) VALUES ($name,$age)»;
$result = $mysqli->query($query);
Проверяем осуществление SQL запроса на корректность
if($result) print ‘Success! ‘.’
‘;
>else die(‘Error : (‘. $mysqli->errno .’) ‘. $mysqli->error);
>
Закрываем соединение с базой данных mysql
$mysqli->close();
Полный код PHP скрипта добавление записи в таблицу базы данных

Введите своё имя

Введите свой возраст

if(isset($_GET[‘formSubmit’])) $nameform=$_GET[‘name’];
$ageform=$_GET[‘age’];
$mysqli = new mysqli(«localhost», «root», «root», «base_db»);
if ($mysqli->connect_errno) echo «Извините, возникла проблема на сайте»;
echo «Ошибка: Не удалась создать соединение с базой MySQL и вот почему: «;
echo «Номер ошибки: » . $mysqli->connect_errno . » «;
echo «Ошибка: » . $mysqli->connect_error . » «;
exit;
>
$name = ‘»‘.$mysqli->real_escape_string($nameform).'»‘;
$age = ‘»‘.$mysqli->real_escape_string($ageform).'»‘;
$query = «INSERT INTO users (name,age) VALUES ($name,$age)»; //готовим запрос. будем выбирать все из //таблицы workers
$result = $mysqli->query($query); // выполняем запрос query.
//объект результата сохраняем в $result
if($result) print ‘Success! ‘.’
‘;
>else die(‘Error : (‘. $mysqli->errno .’) ‘. $mysqli->error);
>
$mysqli->close();
>
?>
Пример работы php скрипта

Можем зайти в PhpMyAdmin и проверить таблицу users. Запись была добавлена

обновленная таблица базы данных

Комментарии ( 0 )

Нет комментариев. Ваш будет первым!

Основные операции с данными

Для добавления данных в БД в MySQL используется команда INSERT , которая имеет следующий формальный синтаксис:

INSERT [INTO] имя_таблицы [(список_столбцов)] VALUES (значение1, значение2, . значениеN)

После выражения INSERT INTO в скобках можно указать список столбцов через запятую, в которые надо добавлять данные, и в конце после слова VALUES скобках перечисляют добавляемые для столбцов значения.

Например, пусть в базе данных productsdb есть следующая таблица Products:

CREATE DATABASE productsdb; USE productsdb; CREATE TABLE Products ( Id INT AUTO_INCREMENT PRIMARY KEY, ProductName VARCHAR(30) NOT NULL, Manufacturer VARCHAR(20) NOT NULL, ProductCount INT DEFAULT 0, Price DECIMAL NOT NULL );

Добавим в эту таблицу одну строку с помощью следующего кода:

INSERT Products(ProductName, Manufacturer, ProductCount, Price) VALUES ('iPhone X', 'Apple', 5, 76000);

В данно случае значения будут передаваться столбцам по позиции. То есть стобцу ProductName передается строка «iPhone X», столбцу Manufacturer — строка «Apple» и так далее.

Важно, чтобы между значениями и типами данных столбцов было соответствие. Так, столбец ProductName представляет тип varchar , то есть строку. Соответственно этому столбцу мы можем передать строковое значение в одинарных кавычках. А стобец ProductCount представляет тип int , то есть целое число, поэтому данному столбцу нужно передать целые числа, но никак не строки.

После удачного выполнения в MySQL Workbench в поле вывода должны появиться зеленый маркер и сообщение «1 row(s) affected»:

INSERT и добавление данных в MySQL

Необязательно при добавлении данных указывать значения абсолютно для всех столбцов таблицы. Например, в примере выше не указано значение для стобца Id. Но поскольку для данного столбца определен атрибут AUTO_INCREMENT , то его значение будет автоматически генерироваться.

Также мы можем опускать при добавлении такие столбцы, которые поддерживают значение NULL или для которых указано значение по умолчанию, то есть для них определены атрибуты NULL или DEFAULT . Так, в таблице Products столбец ProductCount имеет значение по умолчанию — число 0. Поэтому мы можем при добавлении опустить этот столбец, и ему будет передаваться число 0:

INSERT Products(ProductName, Manufacturer, Price) VALUES ('Galaxy S9', 'Samsung', 63000);

С помощью ключевых слов DEFAULT и NULL можно указать, что в качестве значения будет использовать значение по умолчанию или NULL соответственно:

INSERT Products(ProductName, Manufacturer, Price, ProductCount) VALUES ('Nokia 9', 'HDM Global', 41000, DEFAULT);
INSERT Products(ProductName, Manufacturer, Price, ProductCount) VALUES ('Nokia 9', 'HDM Global', 41000, NULL);

Множественное добавление

Также мы можем добавить сразу несколько строк:

INSERT Products(ProductName, Manufacturer, Price, ProductCount) VALUES ('iPhone 8', 'Apple', 51000, 3), ('P20 Lite', 'Huawei', 34000, 4), ('Galaxy S8', 'Samsung', 46000, 2);

В данном случае в таблицу будут добавлены три строки.

Как сделать запись php массива в mysql

Для того чтобы записать php массив в MySQL, необходимо использовать функцию mysqli_query() . Данная функция позволяет выполнять запросы к базе данных. Например, для того, чтобы записать массив в MySQL, можно использовать следующий запрос:

 $sql = "INSERT INTO table_name (field1, field2, . ) VALUES (value1, value2, . )"; $result = mysqli_query($connection, $sql); if ($result)  echo "Запись успешно добавлена в базу данных"; > else  echo "Ошибка при добавлении записи в базу данных: " . mysqli_error($connection); > 

Здесь переменная $connection содержит подключение к базе данных, а переменная $sql содержит запрос INSERT .

Для вставки значений из массива в запрос можно использовать цикл foreach .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *