Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problemas al subir ruta de imagen ala bda

Estas en el tema de Problemas al subir ruta de imagen ala bda en el foro de PHP en Foros del Web. Buenas. Pues eso, que intento subir una imagen al servidor y la ruta guardarla en la base de datos y la imagen se guarda donde ...
  #1 (permalink)  
Antiguo 24/03/2016, 04:08
 
Fecha de Ingreso: febrero-2016
Ubicación: Bilbao, BI, EUS
Mensajes: 74
Antigüedad: 8 años, 2 meses
Puntos: 0
Problemas al subir ruta de imagen ala bda

Buenas.

Pues eso, que intento subir una imagen al servidor y la ruta guardarla en la base de datos y la imagen se guarda donde tiene que guardarse pero en la base de datos la ruta no se guarda, de echo me salta este mensaje:

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '','C:/xampp/htdocs/mipagina/destino/imagen.png','1')' at line 1

Alguien sabe a que se debe este error?
  #2 (permalink)  
Antiguo 24/03/2016, 05:51
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: Problemas al subir ruta de imagen ala bda

Hola kolo300,

Sin ver nada de código es muy difícil adivinar qué puede estar pasando, pero no obstante es más recomendable guardar solo el nombre de la imagen y colocar la ruta en el momento de mostrar la imagen, ya que si en algún momento cambias la ruta, deberías actualizar todos los registros de tu tabla.

Pero todo esto solo son recomendaciones, para que alguien te pueda ayudar, te recomiendo que publiques el código que llevas hasta ahora de manera que podamos ver dónde puede estar el error.
  #3 (permalink)  
Antiguo 24/03/2016, 08:23
 
Fecha de Ingreso: febrero-2016
Ubicación: Bilbao, BI, EUS
Mensajes: 74
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Problemas al subir ruta de imagen ala bda

Buenas

Gracias por responder, mis disculpas, tienes toda la razón.

Tengo 2 tablas:

1- usuario con estos campos:
codUsuario, clave primaria
nombre,
email,
pass

2- imagen con estos campos:
codImagen, clave primaria
nombreImagen,
subtituloImagen,
descripcion,
ruta,
codUsuario (clave foranea que se relaciona con el codUsuario de la tabla usuario.)

y este codigo php:

<?php
$dbhost = 'localhost';
$dbusername = 'nombreUsuario';
$dbuserpass = 'contraseña';
$dbname = 'nombreBda';

mysql_connect($dbhost, $dbusername, $dbuserpass);
mysql_select_db($dbname) or die('Cannot select database');

session_start();

if(isset($_SESSION['ses_id'])){

$cod = $_SESSION['ses_id'];

if(isset($_POST['enviar'])){
$title = $_POST['title'];
$caption = $_POST['caption'];
$descri = $_POST['description'];
$upload = $_FILES['upload']['tmp_name'];

$destino = "C:/xampp/htdocs/miPagina/destino/". $_FILES['upload']['name'];
move_uploaded_file($upload, $destino);
$query = "INSERT INTO imagen (nombreImagen,subtitulo,descripcion,ruta,codUsuari o) VALUES('$title','$caption',$descri','$destino','$c od')";

mysql_query($query) or die(mysql_error());
}

}else{
header("location: http://www.localhost/miPagina/es/login.php");
}
?>

Pues eso, que la imagen si se guarda en la carpeta de destino pero la ruta no se guarda en la tabla imagen. El error que me da es este:

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '','C:/xampp/htdocs/mipagina/destino/imagen.png','1')' at line 1

alguna posible solucion? o saber que pasa?
  #4 (permalink)  
Antiguo 24/03/2016, 08:24
 
Fecha de Ingreso: febrero-2016
Ubicación: Bilbao, BI, EUS
Mensajes: 74
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Problemas al subir ruta de imagen ala bda

Cita:
Iniciado por rbczgz Ver Mensaje
Hola kolo300,

Sin ver nada de código es muy difícil adivinar qué puede estar pasando, pero no obstante es más recomendable guardar solo el nombre de la imagen y colocar la ruta en el momento de mostrar la imagen, ya que si en algún momento cambias la ruta, deberías actualizar todos los registros de tu tabla.

Pero todo esto solo son recomendaciones, para que alguien te pueda ayudar, te recomiendo que publiques el código que llevas hasta ahora de manera que podamos ver dónde puede estar el error.
Como puedo hacer eso que dices? lo de colocar la ruta en el momento de mostrar la imagen?
  #5 (permalink)  
Antiguo 24/03/2016, 08:48
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 20 años, 5 meses
Puntos: 154
Respuesta: Problemas al subir ruta de imagen ala bda

Hola kolo300,

Varias cosas... Primero, en la "barra de herramientas" del editor para publicar, tienes una opción de Highlight que, al desplegarla, te muestra diferentes opciones de código, es mejor usarla para que el código que publicas sea más legible.

Además, cuando muestres la estructura de una tabla, lo que debes hacer es ejecutar esta sentencia por cada tabla y mostrar el resultado con su correspondiente Highlight:

Código SQL:
Ver original
  1. SHOW CREATE TABLE nombre_de_la_tabla;

Por último, el error que mencionas, posiblemente sea porque estás intentando insertar un entero como si fuera un string, los enteros no necesitan '' al momento de insertarlos.

Respecto a tu última consulta, lo aconsejable, es guardar solo el nombre del archivo en la base ('imagen.png' en tu caso) y de esta forma cuando la vas a mostrar, colocas la ruta que corresponda, por ejemplo:

Código PHP:
Ver original
  1. <img src="/mipagina/destino/<?php echo $dato_obtenido_de_la_base; ?>">

Espero haberte aclarado y que te sirva para avanzar en tu proyecto.
  #6 (permalink)  
Antiguo 24/03/2016, 12:37
 
Fecha de Ingreso: noviembre-2014
Ubicación: guadalajara
Mensajes: 18
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Problemas al subir ruta de imagen ala bda

Hola yo vi este error tienes un espacio al final en $c od juntalo a lo mejor nomas es eso

$query = "INSERT INTO imagen (nombreImagen,subtitulo,descripcion,ruta,codUsuari o) VALUES('$title','$caption',$descri','$destino','$c od')";
  #7 (permalink)  
Antiguo 24/03/2016, 13:01
 
Fecha de Ingreso: febrero-2016
Ubicación: Bilbao, BI, EUS
Mensajes: 74
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Problemas al subir ruta de imagen ala bda

Cita:
Iniciado por changos83 Ver Mensaje
Hola yo vi este error tienes un espacio al final en $c od juntalo a lo mejor nomas es eso

$query = "INSERT INTO imagen (nombreImagen,subtitulo,descripcion,ruta,codUsuari o) VALUES('$title','$caption',$descri','$destino','$c od')";
Buenas, Gracias por contestar.

Esos espacios no se por que salen realmente ya que en mi script salen sin esos espacios, pero ya esta solucionado. Era lo que decia rbczgz, estaba poniendo un integer con comillas como si fuese un string.
  #8 (permalink)  
Antiguo 24/03/2016, 13:05
 
Fecha de Ingreso: febrero-2016
Ubicación: Bilbao, BI, EUS
Mensajes: 74
Antigüedad: 8 años, 2 meses
Puntos: 0
Respuesta: Problemas al subir ruta de imagen ala bda

Cita:
Iniciado por rbczgz Ver Mensaje
Hola kolo300,

Varias cosas... Primero, en la "barra de herramientas" del editor para publicar, tienes una opción de Highlight que, al desplegarla, te muestra diferentes opciones de código, es mejor usarla para que el código que publicas sea más legible.

Además, cuando muestres la estructura de una tabla, lo que debes hacer es ejecutar esta sentencia por cada tabla y mostrar el resultado con su correspondiente Highlight:

Código SQL:
Ver original
  1. SHOW CREATE TABLE nombre_de_la_tabla;

Por último, el error que mencionas, posiblemente sea porque estás intentando insertar un entero como si fuera un string, los enteros no necesitan '' al momento de insertarlos.

Respecto a tu última consulta, lo aconsejable, es guardar solo el nombre del archivo en la base ('imagen.png' en tu caso) y de esta forma cuando la vas a mostrar, colocas la ruta que corresponda, por ejemplo:

Código PHP:
Ver original
  1. <img src="/mipagina/destino/<?php echo $dato_obtenido_de_la_base; ?>">

Espero haberte aclarado y que te sirva para avanzar en tu proyecto.
Buenas rbczgz.

Era exactamente eso, estaba poniéndole las comillas de string a un integer. Por eso daba ese error.

Con respecto a la opción de Highlight, soy nuevo en el foro y no tenia ni idea de para que era, a partir de ahora le daré uso.

Gracias amigo

Etiquetas: ruta, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:55.