Ver Mensaje Individual
  #11 (permalink)  
Antiguo 24/04/2013, 03:16
Avatar de paxarin
paxarin
 
Fecha de Ingreso: enero-2010
Ubicación: Santander
Mensajes: 413
Antigüedad: 14 años, 3 meses
Puntos: 6
Respuesta: No consigo guardar la ruta de una imagen en BD

Buenas.
No entiendo el motivo por el cual siempre me da error esa coño liea de php. Cambie
Código:
'INSERT INTO perfil ('image') VALUE ('$archivo') WHERE id_perfil = $_SESSION['id_perfil']'
por esta
Código:
$sql='INSERT INTO perfil image VALUE $archivo WHERE id_perfil =$_SESSION[id_perfil]';
Ahora ya no aparece ningun error de escritura. y teoricamente funciona el php, la imagen sube a la carpeta y para ver si funcionaba use en alert para que me mostrara lo que se almacena en la variable y el resultado a mi entender es correcto.
si hago el alert de $sql muestra esto.
El archivo se subio correctamente.INSERT INTO perfil image VALUE $archivo WHERE id_perfil =$_SESSION[id_perfil]
Y si lo hago de $archivo me aparece la ruta + el nombre del archivo
Pero cuando reviso la bd el campo image de la tabla perfil esta vacio.
Este campo por si hay esta el error es tipo varchar y con una longitud de 60 caracteres.
Alguien sabrria que es lo que sucede?
Por si acaso os dejo todo el php.
Código:
<?php
    session_start();
    include('comp/conexion.php'); 
    // comprobamos que se haya iniciado la sesión
    if(isset($_SESSION['email'])) {
?>
<?php
	$imagen=$_FILES["imagen"];
	$nombre=$_FILES["imagen"]["name"];
	$archivo="foto/".$nombre;
	$nombre=$nombre;
	while(file_exists($archivo))
	{
		mt_srand(time());
		$numero = mt_rand(0,1000);
		$aux=explode(".",$nombre); //usamos el punto ya que la cadena de la imagen sera nombre.jpg
		$tamano= sizeof($aux);
		$extension=$aux[$tamano-1]; 
		$pos=0;
		$nombre="";
		while($pos<$tamano-1)
		{
			$nombre.=$aux[$pos];
			$pos=$pos+1;
		}
		$nombre=$nombre.$numero.".".$extension;
		$archivo="foto/".$nombre;
	}
		$nombre=$nombre;
	if(move_uploaded_file($imagen["tmp_name"], "foto/".$nombre))
	{
		echo "El archivo se subio correctamente.";
		$sql='INSERT INTO perfil image VALUE $archivo WHERE email =$_SESSION[email]';
		echo $sql;
		echo $archivo;
		
	}
	
?>
<?php
    }else {
        header("location:noacceso2.php"); 
    }
?>
__________________
http://www.paxarindesign.es