Как соединить сайт с базой данных?
В университете дали задание: создать одностраничный сайт, чтобы на нем была любая форма(например ФИО), при введении ФИО в каждое поле(получается их 3) и нажатии кнопки(например «Ввести»), нужно чтобы они автоматически заносились в любую базу данных(хоть файл Excel). Хотелось бы использовать MySQL, чтобы был опыт в его использовании. Времени очень мало, буквально пару недель. Что нужно изучить, чтобы быстро это реализовать?
- Вопрос задан более трёх лет назад
- 27807 просмотров
1 комментарий
Оценить 1 комментарий
Как подключить форму 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. Чтобы получить версию, запускаем:
php -v
Вот такой ответ должен прийти:
Теперь установим сервер MySQL. Для этого открываем терминал и запускаем:
sudo apt-get install mysql-server
Вводим пароль, чтобы начать установку, и нажимаем на Enter.
Проверяем, установлен ли MySQL, этой командой:
sudo mysql
Если установка прошла успешно, выводится примерно следующее:
Теперь для доступа к базе данных с использованием программы на PHP нужно передать в качестве аргументов в SQL-запросе имя пользователя и пароль. Поэтому создадим пользователя с паролем и предоставим ему права доступа к базе данных.
Нового пользователя и пароль создаем, выполняя следующую команду:
sudo mysql -u rootCREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
Теперь предоставим пользователю разрешения на доступ к базе данных, а заодно убедимся, что эти права доступа отображаются (для этого задействуем команду flush ):
GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'localhost';FLUSH PRIVILEGES;
И для доступа к MySQL в Google Cloud:
GRANT ALL PRIVILEGES ON `%`.* TO 'newuser'@'localhost';
Для привязки ко всем адресам запускаем это:
#bind-address = 127.0.0.1
Для создания нового пользователя и пароля нужно выполнить указанные выше команды. После добавления нового пользователя выходим и перезапускаем сервер MySQL:
exit
service mysql restart
Обратите внимание: в случае с PHP версией 7+ для правильного выполнения команд MySQL необходимо использовать расширение MySQLi. Функции MySQLi позволяют получать доступ к серверам баз данных MySQL.
Для установки расширения MySQLi запускаем:
Sudo apt Install php-mysqli
Теперь все готово к выполнению программ на PHP с интегрированием MySQL. Переходим к решению сформулированной выше задачи.
Первым делом создадим базу данных на сервере MySQL. Для этого подключимся к серверу MySQL:
sudo mysql
Для того, чтобы создать таблицу, сначала нужно создать базу данных. Следующей командой создаем базу данных с названием «test»:
create database test;
Дальше эту базу данных нужно выбрать:
use test;
exit
Код для создания таблицы при загрузке сайта
База данных готова, теперь напишем код для создания таблицы при загрузке сайта.
Как было указано в необходимых условиях, в качестве хоста будет использоваться Apache2, поэтому выполняем такие команды:
cd /var/www/html
vim sqltest.php
С их помощью создается файл и открывается редактор Vim.
Копируем и вставляем в редактор следующий код:
creating mysql tables
$dbhost = 'localhost';
$dbuser= 'newuser';
$dbpass = 'password';
$conn = mysqli_connect($dbhost , $dbuser , $dbpass,"test");
if(!$conn) die('Could not connect:'.mysqli_error($conn));
>
echo 'Connected successfully ';
$sql="CREATE TABLE student(".
"USN INT NOT NULL,".
"Name VARCHAR(100) NOT NULL,".
"Marks VARCHAR(40) NOT NULL);";
mysqli_select_db($conn,'test');
$retval=mysqli_query($conn,$sql);if(! $retval) die('Could not create table:'.mysqli_error($conn));
>
echo "Table created successfully\n";
mysqli_close($conn);
?>
В строках 7, 8 и 9 объявляются переменные, в которых сохраняются имя пользователя, пароль и localhost. Дальше они задействуются в строке 10 и передаются в качестве параметров в команду mysqli_connect , которой инициируется соединение с сервером MySQL. Если соединение установить не удалось, для отображения ошибки используется оператор if и mysqli_error() . Затем пишется запрос на создание таблицы, который присваивается переменной sql . И запускается запрос для выбора базы данных test . После чего запускается mysqli_query для создания таблицы посредством передачи в качестве параметров переменных sql и connection .
Теперь сохраняем файл и выходим из него, открываем браузер и заходим на этот сайт:
Если все работает правильно, получаем сообщение об успешном создании таблицы.
Если при открытии сайта сообщения не видно, переходим в каталог, в котором создан файл:
cd /var/www/html
И выполняем в терминале следующую команду:
php -S localhost:8000
Открываем браузер и заходим на такой сайт:
Теперь сообщение об успешном создании таблицы будет видно.
Проверим, выполнив в терминале команду:
sudo mysql
use test;
desc student;
Примечания:
1) Имя пользователя MySQL — «newuser», а пароль — «password».
2) Поменяйте все команды с MySQL на MySQLi, если у вас версия PHP 7+ , например mysql_connect станет mysqli_connect , а mysql_error() станет mysqli_error() .
Появление возможных ошибок, и как с ними справиться:
- При выполнении команды создания проверяйте, те ли кавычки используете. Ведь ` и ‘ — это разные знаки.
- Если при выполнении программы есть какая-либо ошибка в SQL-запросе, связанная с форматом, то при присваивании $sql
$sql=”CREATE TABLE student(“.“USN INT NOT NULL,”.“Name VARCHAR(100) NOT NULL,”.“Marks VARCHAR(40) NOT NULL);”;
поставьте в конце запроса вместо точки точку с запятой.
3. Если возникли проблемы с командами MySQLi, выполните следующие команды:
php -v
Затем запишите свою версию PHP. Для этого в первой из следующих четырех команд замените x.x на свою версию PHP:
sudo apt-get install phpx.x-mysqli
sudo service apache2 restart
sudo phpenmod mysqli
sudo service apache2 restart
Так, если у вас версия PHP 7.4, то команда будет sudo apt-get install php7.4-mysqli.
4. Каждый раз, когда заходите на свой сайт на PHP, запускайте в каталоге, где находится программа на PHP, следующую команду:
php -S localhost:8000
И при получении какой-либо ошибки, например такой:
Запускайте эту команду:
fuser -k 8000/tcp
И после выполнения php -S localhost:8000 он заработает. Так как процесс, задействующий этот порт, будет уничтожен и его можно будет использовать.
Еще одна программа на PHP
И вот еще одна программа на PHP для добавления новых записей в таблицу, попробуйте.
Прежде чем выполнять программу, запускаем запрос в MySQL для создания таблицы:
create table book(Acc_no INTEGER(20),Title varchar(50),Author varchar(50),Publisher varchar(50),Edition INTEGER(3));
HTML-код
Deatails
PHP-код:
header('content-type:text/plain');
$db=mysqli_connect('localhost','newuser','password','test');if(!$db) die('Could not connect:');
>$sql="insert into book (Acc_no,Title,Author,Publisher,Edition)".
"values('$_REQUEST[Acc_no]',".
"'$_REQUEST[Title]','$_REQUEST[Author]',".
"'$_REQUEST[Publisher]','$_REQUEST[Edition]');";mysqli_select_db($db,'test');
$retval=mysqli_query($db,$sql);if(! $retval) die('Could not insert values');
>echo "Record Insertion Successful";
?>
- Ключевое слово static в PHP
- Хочешь стать веб-разработчиком? Учи Node.js, а не PHP
- Java убьет ваш стартап. PHP спасёт его
Подключение к базе данных MySQL
Подключение к базе данных MySQL — является главным шагом обмена данными и работой с базой данных в целом. Данная статья рассчитана, прежде всего, для тех, кто только начинает учится работать с базой данных и создавать простые формы на интернет странице для сохранения той или иной информации.
Свои вопросы, комментарии, правки к статье можно оставить на странице обсуждения.
Подключение к базе данных MySQL
После того, как база данных MySQL создана, необходимо наладить постоянное c ней подключение для дальнейшей работы, обмена данными, а именно ввод и вывод той или иной информации. Для этого нужно создать отдельный php файл, например connect.php, в котором прописываем код подключения:
$dblocation = "localhost"; $dbname = "database_name"; $dbuser = "user_name"; $dbpasswd = "database_password"; $connection = @mysql_connect($dblocation,$dbuser,$dbpasswd); if (!$connection) echo( "В настоящий момент сервер базы данных не доступен, поэтому корректное отображение страницы невозможно.
" ); exit(); > if (!@mysql_select_db($dbname, $connection)) echo( "В настоящий момент база данных не доступна, поэтому корректное отображение страницы невозможно!
" ); exit(); > ?>
- database_name — указываем имя базы данных, которое было присвоено при её создании
- user_name — указываем имя пользователя базы данных
- database_password — пароль, указанный при создании базы данных
Данный код осуществляет проверку подключения к серверу и непосредственно к самой базе данных. Если по каким-либо техническим обстоятельствам сервер и/или база данных недоступна, то на странице будет отображено уведомление, как это видно в самом коде.
Использование подключения на всех страницах сайта
На всех других страницах, где происходит вывод данных из базы или наоборот, где используются формы для сохранения данных, непосредственно в самой верхней части страницы необходимо указать ссылку на файл подключения к базе данных, это можно сделать следующим образом:
include('connect.php'); //
Обратите внимание, что в данном примере те страницы, которые ссылаются на файл подключения должны находится в одной корневой папке, либо необходимо указывать путь к папке с файлом подключения.
После подключения к базе данных, как это показано в примере выше, можно переходить к следующему шагу: программировать страницы, которые будут вносить и сохранять информацию в базе данных или выводить информацию из неё. Об этом читайте в дополнительных статьях, посвящённых взаимодействию с базой данных MySQL.
Примечание
Создав такой единый файл подключения, на него можно всегда ссылаться, чтобы не указывать данные подключения е базе данных в каждом файле. Если не получается создать подключения, показывает ошибку при подключении, то пишите свои вопросы, комментарии на странице обсуждения данной статьи.
