Ayuda con código

Buenas noches desde Mexico
Tengo este código que baje de internet, funciona bien, lo he adecuado a mi base que tengo y la tabla fue creada así:
`id` smallint(6) NOT NULL auto_increment,
  `anchura` smallint(6) NOT NULL,
  `altura` smallint(6) NOT NULL,
  `tipo` char(15) NOT NULL,
  `imagen` mediumblob NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1;
le agrege la linea
'cedula' text(15) NOTNULL,
y el codigo para subir la imagen es este, pero como ves quiero agregar el dato cedula a la tabla  y no se como hacerlo, he intentado varias cosas sin resultado, ojala me puedas ayudar.
<?php
# Conectamos con la base de datos
$link=mysql_connect("localhost","root","password");
mysql_select_db("escuela",$link);
//echo "<BR>".$_FILES["userfile"]["name"];  //nombre del archivo
//echo "<BR>".$_FILES["userfile"]["type"];  //tipo
//echo "<BR>".$_FILES["userfile"]["tmp_name"]; //nombre del archivo de la imagen temporal
//echo "<BR>".$_FILES["userfile"]["size"];  //tamaño
# Comprovamos que se haya subido un fichero
if (is_uploaded_file($_FILES["userfile"]["tmp_name"]))
{
 # Cogemos el formato de la imagen
 if ($_FILES["userfile"]["type"]=="image/jpeg" || $_FILES["userfile"]["type"]=="image/pjpeg" || $_FILES["userfile"]["type"]=="image/gif" || $_FILES["userfile"]["type"]=="image/bmp" || $_FILES["userfile"]["type"]=="image/png")
 {
  # Cogemos la anchura y altura de la imagen
  $info=getimagesize($_FILES["userfile"]["tmp_name"]);
  //echo "<BR>".$info[0]; //anchura
  //echo "<BR>".$info[1]; //altura
  //echo "<BR>".$info[2]; //1-GIF, 2-JPG, 3-PNG
  //echo "<BR>".$info[3]; //cadena de texto para el tag <img
  # Escapa caracteres especiales
  $imagenEscapes=mysql_real_escape_string(file_get_contents($_FILES["userfile"]["tmp_name"]));
  # Agregamos la imagen a la base de datos
  $result=mysql_query("INSERT INTO `imagephp` (anchura,altura,tipo,imagen) VALUES (".$info[0].",".$info[1].",'".$_FILES["userfile"]["type"]."','".$imagenEscapes."')",$link);
  # Cogemos el identificador con que se ha guardado
  $id=mysql_insert_id();
  # Mostramos la imagen agregada
  echo "Imagen agregada con el id ".$id."<BR>";
  echo "<img src='imagen_mostrar.php?id=".$id."' width='".$info[0]."' height='".$info[1]."'>";
 }else{
  $error="El formato de archivo tiene que ser JPG, GIF, BMP o PNG.";
 }
}else{
 $error="Capture la cedula...";
 $error1="Selecciones una imagen...";
}
if ($error!="")
{
 echo "</center><P><font face='Arial' size=2 color='#FF0000'> Por favor: ".$error."</font><br>";
 echo "</center><P><font face='Arial' size=2 color='#FF0000'> y: ".$error1."</font><br>";
}
?>
<form ENCTYPE="multipart/form-data" action="imagen_agregar.php" method="POST">
    <input name="cedula" type="text">
 <INPUT NAME="userfile" TYPE="file">
<p><input type="submit" value="Guardar Imagen">
</form>
{"lat":27.8682165795141,"lng":-101.524658203125}
1

1 Respuesta

591.125 pts. Licenciado en Informática
No se que es un dato "cedula"...¿?. De todas formas, no es buena idea guardar las imágenes en la BD, lo que se hace habitualmente es guardar el nombre del fichero en la BD y el fichero gráfico en el disco duro o en el servidor, es mucho más rápido que leer la imagen a través de la BD e impide posibles bloqueos de la BD
Te agradezco tu pronta respuesta, como hacer lo que dices, para facilitar y aguilizar la bd, lo de cedula es un dato que agregue a la tabla original para relacionarla con otra tabla
Utiliza tu PHP para guardar la imagen en una carpeta del servidor y en la BD en un campo string, guarda simplemente el nombre de la imagen:
http://www.desarrolloweb.com/articulos/1307.php
La cedula, dependiendo del dato que insertes, será un numérico o string, no entiendo el problema, ¿no puedes crearlo?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas