"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo puedo insertar con éxito blobs de imágenes en una base de datos MySQL usando PHP?

¿Cómo puedo insertar con éxito blobs de imágenes en una base de datos MySQL usando PHP?

Publicado el 2024-12-23
Navegar:163

How Can I Successfully Insert Image Blobs into a MySQL Database Using PHP?

Insertar blobs en bases de datos MySql con PHP

Descripción general del problema

Estás Intento almacenar una imagen en una base de datos MySQL usando PHP, pero no funciona como se esperaba. Los datos de la imagen no se están insertando en la base de datos.

Solución

Compruebe si hay un problema de interpolación variable

En su consulta, está utilizando la función file_get_contents() para recuperar los datos de la imagen, pero no está concatenando explícitamente su resultado con la cadena de consulta. Como resultado, la consulta contiene la cadena "file_get_contents($tmp_image)" en lugar de los datos de la imagen real.

Solución 1: Concatenación explícita

Para concatenar la imagen datos correctamente, necesita saltar de la cadena y hacer las cosas explícitamente:

$sql = "INSERT INTO ImageStore(ImageId,Image)
        VALUES('$this->image_id','" . file_get_contents($tmp_image) . "')";

Manejar la desinfección

Si los datos de la imagen binaria contienen cualquier apóstrofe ('), puede interrumpir la consulta SQL. Para evitar esto, debe ejecutar los datos a través de la función mysql_escape_string para. desinfección:

$sql = "INSERT INTO ImageStore(ImageId,Image)
        VALUES('$this->image_id','" . mysql_escape_string(file_get_contents($tmp_image)) . "')";

Considere almacenamiento alternativo

Almacenamiento grande Los datos binarios (como imágenes) en las bases de datos MySQL pueden hacerlos voluminosos. Si es posible, considere usar un sistema de almacenamiento de archivos separado para las imágenes.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3