inserción de imágenes en la base de datos y mostrar usando php y mysql no funciona

komal deep singh chahal

No sé por qué esto no funciona. Por favor ayúdenme chicos a salir de eso

<form action="login.php" method="post" enctype="multipart/form-data">

<br><br><br>
Select image: <input type="file" name="image" size="40" id="image">
<br><small> must be less than 512kb </small>

<br><br>
<input type="submit" name="submit" value="submit">  
</form>


<?php 
    // Script Error Reporting
    error_reporting(E_ALL);
    ini_set('display_errors', '1');
?>

Hay 3 columnas en la base de datos como id, nombre, imagen como tipo de blob largo

<?php

if(isset($_POST['submit']))
{   
    $con=@mysqli_connect("localhost","root","","work");
    $imagedata=mysqli_real_escape_string($con,file_get_contents($_FILES['image'] ['tmp_name']));
    $imagename=mysqli_real_escape_string($con,$_FILES['image'] ['name']);
    $imagetype=mysqli_real_escape_string($con,$_FILES['image'] ['type']);

    if(substr($imagetype,0,5) =="image")
    {
     $con=@mysqli_connect("localhost","root","","work");
     mysqli_query($con,"INSERT INTO pics VALUES('$imagename','$imagedata')" or die (mysqli_error($con)));
    }
    else
    {
    echo"only images are allowed";
    }
}
?>
<img src="showimage.php" />

showimage.php

<?php

    $con=@mysqli_connect("localhost","root","","work");

    $query = mysqli_query($con,"select* from pics" or die (mysqli_error($con)));

    $row=mysqli_fetch_assoc($query);

    $imagedata= $row["image"];

    header("content-type: image/jpeg");

    echo $imagedata;

?>

Por favor ayúdenme chicos. No sé qué mal estoy haciendo aquí.

Logan Wayne

Nota:

  • ¿Por qué declaras repetidamente tu $con?
  • El uso mysqli_real_escape_string()es bueno para desinfectar el valor de una variable, pero es mejor y obligatorio usar la declaración mysqli_prepared .
  • ¿Dónde está tu código que realiza la carga?
  • En su carpeta raíz, cree una carpeta llamada images
  • Puede utilizar las acceptetiquetas para su archivo de entrada. Agregue esto accept=".jpg, .jpeg, .png"a su <input type="file"... Y agregue una verificación también en su página enviada de PHP para verificar si realmente es una imagen.
  • ¿Cuál es el nombre de su tabla / columna en la que deseaba insertar su nombre de archivo?
  • He incluido algunas explicaciones sobre el código a continuación.

Puede cambiar su login.php a esto:

<?php

  if(isset($_POST['submit']))
  {   

    $con = new mysqli("localhost","root","","work"); /* ESTABLISH CONNECTION */

    $uploadedfile = $_FILES["image"]["tmp_name"];
    $allowedExts = array("png","jpg","jpeg"); /* ACCEPTED FILE FORMAT */
    $filename = $_FILES["image"]["name"]; /* NAME OF THE FILE */
    $extension = pathinfo($filename, PATHINFO_EXTENSION); /* GET THE FILE EXTENSION */
    $extension = strtolower($extension); /* LOWER THE STRINGS OF THE EXTENSION */

    if(in_array($extension,$allowedExts)){ /* IF FILE IS INDEED AN IMAGE */

      $path = "images/".$filename; /* DIRECTORY WHERE YOU WANT TO STORE THE IMAGE ALONG WITH THE FILE NAME */
      move_uploaded_file($uploadedfile,$path); /* MOVE THE FILE TO YOUR IMAGES FOLDER */

      /* PLEASE CHANGE THE NECESSARY TABLE NAME AND COLUMN NAME IN THE QUERY BELOW*/
      if($stmt = $con->prepare("INSERT INTO pics (name) VALUES (?)")){
        $stmt->bind_param("s",$filename); /* BIND THE FILE NAME TO THE QUERY */
        $stmt->execute(); /* EXECUTE THE QUERY */
        $stmt->close();
      } /* END OF PREPARED STATEMENT */

      echo '<img src="images/'.$filename.'">'; /* OUTPUT THE UPLOADED IMAGE */

    } /* END OF IF; CHECKING THE ALLOWED EXTENSIONS */

    else { /* IF FILE FORMAT IS NOT SUPPORTED */

      echo "You did not upload an image.";

    } /* END OF ELSE */

  } /* END OF ISSET POST SUBMIT */

?>

Nota : No cambié el nombre del archivo, por lo que si un usuario cargó un archivo que tiene el mismo nombre que un archivo anterior, se generará un conflicto. Comprenda este código primero, antes de continuar con el cambio de nombre de los archivos .

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

Ajax / PHP / MySQL: la inserción de datos en la base de datos no funciona con Ajax y PHP

Obtener imágenes de la base de datos mysql usando php y mostrarlas en gridview en android

¿Cómo cargar imágenes en la base de datos usando reactjs y php?

error en la consulta usando MySQL y PHP, basado en mostrar datos de la base de datos

inserción de datos de etiqueta de entrada a la base de datos usando Ajax y php

Usando rutas de imagen de la base de datos para mostrar imágenes en php

no puedo mostrar / acceder a imágenes de la base de datos mysql usando php

¿Cómo almacenaré la ruta de la carpeta de imágenes en la base de datos MYSQL y mostraré la imagen en una página web a través de PHP y XAMPP?

La inserción de datos en la base de datos MySQL usando PHP obtiene un error

Inserción de datos de formularios HTML en la base de datos MySQL usando PHP

Cómo mostrar la tabla de la base de datos MySQL usando php y html

¿Cómo mostrar imágenes en PHP desde la base de datos usando consultas MYSQLi?

¿Cómo almacenar la publicación de blog php en la base de datos mysql con imágenes y otro formato de texto html?

La inserción de MySQL y PHP no funciona

Mostrar registros en el mes actual, usando php y una base de datos mysql

cómo cargar las imágenes y guardarlas en la base de datos usando react

recorrer la matriz multidimensional en php y hacer la inserción de mysql (datos de stock)

Mostrar la tabla MySQL usando PHP y JavaScript en la tabla de datos

No se pueden mostrar todas las imágenes de la base de datos de firebase y quiero mostrar todas las imágenes de una identificación en la vista de cuadrícula

Actualizar la base de datos usando MySQL y PHP

¿Cómo obtener datos de la base de datos usando la decodificación json en php y mostrar el resultado como se muestra a continuación?

La inserción de SQL en la base de datos de MS Server usando Python no funciona

La inserción de SQL en la base de datos de MS Server usando Python no funciona

Cómo mostrar el valor de la base de datos dentro de la etiqueta de selección usando PHP y MySQL

mostrar la base de datos de imágenes en ViewFlipper

Cargue la imagen en la base de datos MYSQL y muéstrela usando PHP con Swift

Las imágenes de la base de datos no se muestran en mi HTML usando Ajax y SQL

Actualización de Mysql usando PHP y AJAX, no se puede actualizar la base de datos

No puedo recuperar y mostrar imágenes de MYsql en la columna de la tabla

TOP Lista

CalienteEtiquetas

Archivo