Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/04/2013, 15:05
AwG
 
Fecha de Ingreso: abril-2013
Ubicación: Madrid, España
Mensajes: 21
Antigüedad: 11 años
Puntos: 0
Insertar imagen en MySQL mediante PHP

Muy buenas. Desde hace bastante casi todo lo que he aprendido de programacion ha sido gracias a los buenos recursos de esta pagina. Tan buenos que no hacia falta registrarme, ya que no habia dudas, pero ahora es hora de registrarse porque me ha surgido un problema con PHP.

Bien, tengo una web y quiero que para publicar noticias se pueda insertar una imagen con ella. He puesto en el form la opcion de adjuntarla pero a la hora de insertar la imagen en la base de datos no se por que me da error.

No se si sera el formato que le he dado en MySQL (longblob) o algo en la consulta. Aqui dejo el codigo a ver si alguien sabe por que.

Código PHP:
Ver original
  1. <?php
  2. include("conexion.php"); // Incluimos nuestro archivo de conexión con la base de datos
  3.  
  4. if(isset($_POST['añadir'])) // Si el boton de "añadir" fué presionado ejecuta el resto del código
  5. {
  6.     $titulo = mysql_real_escape_string($_POST['titulo']); // Recibimos el valor del <input name="titulo"...
  7.     $texto = mysql_real_escape_string($_POST['texto']);   // Recibimos el valor de la <textarea name="titulo"...
  8.     $autor = mysql_real_escape_string($_POST['autor']);
  9.     $imagen = mysql_real_escape_string($_POST['imagen']);
  10.     if(!empty($titulo) && !empty($texto) && !empty($autor) && !empty($imagen)) // Comprobamos que los valores recibidos no son NULL
  11.     {
  12.         $query_NuevaNoticia = mysql_query("INSERT INTO ".$db_table." SET titulo = '".$titulo."', fecha = NOW(),noticia = '".$texto."', autor='".$autor."', imagen=".$imagen); // Realizamos una consulta a la base de datos para insertar la nueva notica
  13.  
  14.         if($query_NuevaNoticia)
  15.         {
  16.             echo 'La noticia se añadió correctamente a la base de datos.'; // Si el registro (la noticia) se insertó en la base de datos, mostramos este mensaje
  17.         }
  18.         else
  19.         {
  20.             echo 'La noticia no pudo ser insertada en la base de datos'; // Si el registro (la noticia) no se insertó en la base de datos, mostramos este mensaje
  21.         }
  22.     }
  23.     else
  24.     {
  25.         echo 'Los campos no pueden estar vacios. Rellénalos para insertar la noticia en la base de datos'; // Si los valores recibidos por los campos de texto están vacios, no inserta el registro y muestra este mensaje
  26.     }
  27. }
  28.  
  29. ?>
  30.  
  31. <form action="nueva_noticia.php" method="post"> <!-- Creamos el formulario, utilizando la etiqueta form, cuyo atributo action="" indicará donde se procesará el formulario -->
  32.     Título de la noticia: <br /><input name="titulo" type="text" enctype="multipart/form-data"/> <br />
  33.     Texto de la noticia:  <br /><textarea name="texto"></textarea> <br />
  34.     Autor: <input name="autor" type="text" /><br />
  35.     Archivo: <input name="imagen" type="file" onChange="ver(form.file.value)">
  36.     <br />
  37.     <input type="submit" name="añadir" value="Publicar noticia" />
  38. </form>

El codigo funcionaba bien hasta que he modificado lo de la imagen

Muchas gracias de antebrazo