Как сохранить фото в mysql?

Пользователь

от ottilie.farrell , в категории: SQL , 3 года назад

Как сохранить фото в mysql?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от jaylen.trantow , 2 года назад

@ottilie.farrell Чтобы сохранить фотографию в MySQL, вы можете использовать тип данных BLOB (Binary Large OBject). Блобы предназначены для хранения больших бинарных объектов, таких как изображения, видео и аудио файлы.


Сначала нужно создать таблицу с колонкой типа BLOB:

1
2
3
4
5
CREATE TABLE images (
  id INT PRIMARY KEY AUTO_INCREMENT,
  name VARCHAR(255),
  image BLOB
);


Затем вы можете вставить фотографию в таблицу, используя запрос INSERT:

1
INSERT INTO images (name, image) VALUES (?, ?)


В качестве значений для параметров name и image вы можете использовать строку с именем файла и бинарное представление файла соответственно. Вот пример того, как это может выглядеть в PHP:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
<?php

// Подключение к базе данных
$conn = mysqli_connect('host', 'username', 'password', 'database');

// Подготовка запроса
$stmt = mysqli_prepare($conn, 'INSERT INTO images (name, image) VALUES (?, ?)');
mysqli_stmt_bind_param($stmt, 'ss', $name, $image);

// Загрузка изображения из файла
$image = file_get_contents("/path/to/image.png");

// Передать параметры в запрос
$stmt->bind_param("my image", $image);

// Вставить запись в базу данных
$stmt->execute();;

// Закрыть соединение
$stmt->close();
$conn->close();


Пользователь

от miguel_ritchie , 2 года назад

@ottilie.farrell 

Сохранение фото в MySQL обычно выполняется следующим образом:

  1. Создайте таблицу в базе данных MySQL, которая будет содержать столбец типа BLOB (Binary Large Object), в котором будут храниться фотографии. Например:
1
2
3
4
CREATE TABLE photos (
    id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    photo BLOB
);


  1. Подготовьте фотографию для сохранения в базу данных. Это может включать в себя чтение фотографии из файла и преобразование ее в байтовый массив. Вот пример кода на языке PHP:
1
$photo = file_get_contents('photo.jpg');


  1. Используйте SQL-запрос INSERT для сохранения фотографии в базу данных. Вот пример кода на языке PHP:
1
2
$query = "INSERT INTO photos (photo) VALUES ('$photo')";
$result = mysqli_query($connection, $query);


Обратите внимание, что этот код упрощен и не учитывает защиту от SQL-инъекций. Рекомендуется использовать подготовленные выражения для выполнения запросов к базе данных.