¿hay alguna manera de insertar imágenes (no url, la imagen) en una tabla MYSQL hecha con phpmyadmin? y si hay cuando quiero obtener esa imagen e insertarla en la página, ¿qué debo hacer? :)¿Puedo insertar una imagen en una tabla MYSQL DB?
Respuesta
Es posible (usando el tipo BLOB) pero casi siempre es mejor simplemente almacenar la imagen en el sistema de archivos y simplemente almacenar la ruta a la imagen en la base de datos.
Algunas razones por la parte superior de mi cabeza:
BLOB se globo del tamaño de su base de datos, hacer copias de seguridad y restaura potencialmente más difícil (aunque algunos podrían argumentar que hace que sea más fácil ya que solo tiene que hacer una copia de seguridad de la base de datos en lugar de la base de datos más un montón de archivos).
Almacenar los datos como BLOB podría causar problemas de rendimiento si tiene un código perezoso que usa
select *
.Servir las imágenes del sistema de archivos será más rápido que servirlas desde la base de datos, y reducir la carga en el servidor de db.
Obtiene cierta flexibilidad con el lugar donde sirve las imágenes; por ejemplo, si desea moverlas a una CDN en el futuro.
Si va a buscar el menudo la imagen, probablemente sería mejor almacenarla como un archivo y guardar la ruta de acceso a la misma, para ahorrarle una carrera en la base de datos de ir a buscar la imagen.
De lo contrario, almacene el contenido del archivo de imagen en una columna BLOB y luego imprima <img src="image.php?id=1234" />
en el HTML.
image.php
debe buscar la imagen con ID 1234 en la base de datos, buscar el contenido de esa columna BLOB e imprimirla después de publicar el encabezado HTTP correcto, p. header('Content-type: image/gif');
Pero en serio. Solo guarde el archivo de imagen. Es mucho menos doloroso, lo prometo.
Cuando se trata de recursos estáticos como imágenes de fondo o iconos de menú, etc., nunca he visto a nadie almacenarlos en la base de datos. Para el contenido dinámico, como las imágenes cargadas por el usuario, no es poco común.
Aquí hay algunos pro y contras para almacenar imágenes en la base de datos.
Beneficios:
- Es técnicamente no es diferente de otros datos. Solo más, y en formato binario.
- Se realiza una copia de seguridad de las imágenes junto con el resto de la base de datos.
- n dolor principal de conseguir fuera de sincronización (que tiene un recorrido en la base de datos que apunta a una imagen inexistente, o imágenes sin referencias en la base de datos)
Inconvenientes:
- Almacenamiento los archivos individuales son precisamente a lo que se dirige el sistema de archivos, por lo que lo más probable es que escale mejor.
- Más fácil de depurar/ver manualmente las imágenes
- El servidor web puede servir las imágenes directamente (sin necesidad de código adicional para cargar contenido de la base de datos y servir el tipo de mime adecuado, etc.).
Personalmente, siempre he encontrado que los beneficios superan los inconvenientes y siempre tenían las imágenes (junto con los tipos de mime) en la base de datos. Nunca he notado inconvenientes o problemas de rendimiento pero, por otro lado, nunca he trabajado en sitios web realmente grandes.
preguntas y recursos relacionados:
- 1. Insertar en una tabla mysql y sobrescribir cualquier dato actual
- 2. ¿Cómo puedo insertar una fila en una tabla?
- 3. ¿Insertar valores múltiples en una columna mysql?
- 4. Insertar una imagen en ggplot2
- 5. Drop atornilló la tabla en Mysql db
- 6. ¿Cómo puedo insertar una imagen en un RichTextBox?
- 7. ¿Cómo puedo insertar muchas filas en una tabla MySQL y devolver las nuevas ID?
- 8. MySQL: ¿cuántas filas puedo insertar en una sola instrucción INSERT?
- 9. ¿Cómo obtengo SQLAlchemy para insertar correctamente una elipsis unicode en una tabla mySQL?
- 10. Insertar datos en una tabla temporal
- 11. mysql :: insertar en la tabla, datos de otra tabla?
- 12. MySQL ¿Cómo se INSERTAR EN una tabla con una subconsulta SELECT que devuelve varias filas?
- 13. ¿Cómo guardo una imagen en MySQL?
- 14. Actualizar/Insertar en una tabla usando SQLCeResultSet
- 15. MySQL: Insertar si existe una clave externa
- 16. Actualizar una página web vuelve a insertar datos en DB
- 17. Insertar una publicación en Wordpress usando MySql
- 18. Recuperar una imagen almacenada como BLOB en un DB de MYSQL
- 19. Insertar filas en una tabla con una columna IDENTITY solamente
- 20. En Oracle, ¿es posible "insertar" una columna en una tabla?
- 21. ¿Cómo puedo almacenar código PHP dentro de una tabla mysql?
- 22. Crear una tabla db Prácticas recomendadas NULL
- 23. ¿Cómo puedo hacer una tabla en MySQL llamada "orden"?
- 24. MySQL: ¿cómo puedo ver TODAS las restricciones en una tabla?
- 25. ¿Cómo programar un disparador de MySQL para insertar una fila en otra tabla?
- 26. Insertar una clave primaria autoincrementada en una tabla de acceso
- 27. Cómo insertar una imagen en la celda JTable
- 28. MySQL Cómo INSERTAR EN [tabla temporal] FROM [Procedimiento almacenado]
- 29. ¿Es posible insertar datos en una vista de MySQL?
- 30. Viendo una tabla para cambiar en MySQL?
utilización tipo BLOB, se inserta la imagen como 0 y 1. – Karthik
y asegúrese de guardar (y responda) con los tipos de mime apropiados correspondientes a esos 0 y 1 ... – aioobe