Сохранение данных в MySQL
Сохранение данных в MySQL
| |
Сохранение данных в MySQL — процесс, при котором происходит сохранение информации из форм на странице в базу данных специальными командами языка программирования, такими как PHP. В базе сохраняются текстовые данные, например в виде учётных записей пользователей (логин, пароль, электронный адрес и другая подобная информация), название файлов (картинки, фотографии, аудио-видео файлы), и обычный текст в виде сообщений или публичных записей пользователей.
Уважаемые читатели, приглашаем принять участие в обсуждении темы статьи на специально созданной странице нашего форума. Также будем рады опубликовать дополнительную информацию в статье или внести правки.
Процесс сохранения данных в MySQL
Весь процесс сохранения информации в базе данных MySQL можно разделить на два этапа:
- Подготовка базы данных MySQL под свои нужды - создание таблиц и необходимых в ней столбцов.
- Создание HTML форм, через которые осуществляется сохранение введённых данных.
Подготовка базы данных
После того как база данных создана со своим уникальным именем, необходимо добавить необходимые таблицы и столбцы в ней. Например, создадим таблицу users, где будут сохраняться три основных параметра учётной записи пользователя сайта: логин, пароль, электронный адрес. Также будет дополнительный столбец с персональным ID пользователя, который присваивается автоматически к каждой новой зарегистрированной учётной записи. Итак, алгоритм действий такой:
- Создаём базу данных.
- Создаём таблицу users.
- Создаём нужные нам столбцы в таблице users.
Работа с формой для отправки данных
Работа с формой для отправки данных в таблицы MySQL состоит из двух файлов:
- Страница с формой, в которую вносятся данные, в нашем случае формы для логина, пароля и электронного адреса.
- PHP файл, который обрабатывает форму и отправляет данные непосредственно в базу данных.
Разберём более детально, как происходит обработка данных и их сохранение в MySQL.
Сохранение текстовой информации
Для сохранения текстовой информации, такой как логин, пароль и электронный адрес, необходимо использовать SQL-запросы в PHP файле, который обрабатывает данные формы. Пример PHP кода для сохранения данных в таблицу users:
<?php
$servername = "localhost";
$username = "root";
$password = "password";
$dbname = "database_name";
// Создание соединения
$conn = new mysqli($servername, $username, $password, $dbname);
// Проверка соединения
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// Получение данных из формы
$user_login = $_POST['login'];
$user_password = $_POST['password'];
$user_email = $_POST['email'];
// SQL запрос для вставки данных
$sql = "INSERT INTO users (login, password, email) VALUES ('$user_login', '$user_password', '$user_email')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
Сохранение файлов
Для сохранения файлов, таких как изображения или аудио-видео файлы, нужно немного изменить процесс. В PHP файле, который обрабатывает данные формы, следует добавить код для загрузки файлов на сервер и сохранения пути к ним в базе данных. Пример PHP кода для загрузки файла и сохранения его пути в таблицу files:
<?php
$servername = "localhost";
$username = "root";
$password = "password";
$dbname = "database_name";
// Создание соединения
$conn = new mysqli($servername, $username, $password, $dbname);
// Проверка соединения
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// Директория для загрузки файлов
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file, PATHINFO_EXTENSION));
// Проверка типа файла
if(isset($_POST["submit"])) {
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if($check !== false) {
echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
echo "File is not an image.";
$uploadOk = 0;
}
}
// Проверка, если файл уже существует
if (file_exists($target_file)) {
echo "Sorry, file already exists.";
$uploadOk = 0;
}
// Проверка размера файла
if ($_FILES["fileToUpload"]["size"] > 500000) {
echo "Sorry, your file is too large.";
$uploadOk = 0;
}
// Разрешение определенных форматов файлов
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
$uploadOk = 0;
}
// Проверка, если $uploadOk установлен в 0 из-за ошибки
if ($uploadOk == 0) {
echo "Sorry, your file was not uploaded.";
// Если все проверки пройдены, пытаемся загрузить файл
} else {
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
echo "The file ". htmlspecialchars(basename($_FILES["fileToUpload"]["name"])). " has been uploaded.";
// SQL запрос для вставки пути к файлу
$sql = "INSERT INTO files (file_path) VALUES ('$target_file')";
if ($conn->query($sql) === TRUE) {
echo "File path saved to database successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
} else {
echo "Sorry, there was an error uploading your file.";
}
}
$conn->close();
?>
Примечание
Данная статья описывает базовые принципы сохранения данных в MySQL с использованием PHP. Для более сложных проектов рекомендуется изучение дополнительной литературы и использование фреймворков.