Ver Mensaje Individual
  #4 (permalink)  
Antiguo 22/08/2013, 11:25
ShaderNight
 
Fecha de Ingreso: marzo-2013
Mensajes: 8
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Carga de Imagenes a servidor y UPDATE de ruta

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Código PHP:
Ver original
  1. $sql=("UPDATE ".$tabla. "set" .$rute. "=" .$rutaDestino. "," .$columna. "= SI WHERE id =" .$id.);
Estás generando una query mal estructurada y escrita.
1) Las cadenas de texto deben quedar contenidas entre apóstrofos.
2) Debe existir al menos un espacio entre la cláusula SQL y el nombre del campo o tabla, o de lo contrario se genera un error sintáctico.
Código PHP:
Ver original
  1. $sql="UPDATE $tabla SET set $rute = '$rutaDestino', $columna = 'SI' WHERE id = $id";
O si quieres:
Código PHP:
Ver original
  1. $sql="UPDATE ".$tabla. " SET " .$rute. "='" .$rutaDestino. "'," .$columna. "= 'SI' WHERE id = " .$id.;
Fuera de eso, recuerda que los nombres de tablas y columnas no deben tener espacios intermedios ni signos especiales, en especial operadores matemáticos. Eso podría genera errores.
Por su parte, las rutas de acceso a archivos no deben contener barras inversas simples, sino que deben escaparse siempre.
Es decir, por ejemplo, en la cadena de SQL, Esto:
debe quedar guardado como
Para que luego los caracteres se almacenen bien en la tabla.
Muchas Gracias por tus comentarios me han ayudado mucho para seguir mejorando en este mundillo.

Código PHP:
Ver original
  1. $sql="UPDATE $tabla SET set $rute = '$rutaDestino', $columna = 'SI' WHERE id = $id";

esta es la linea que funciono.

Solo que me esta surgiendo un detalle y es el siguiente:

tengo estas variables declaradas:

Código PHP:
$id=$_POST['usr_id'];
$tabla=$_POST['usr_tabla'];
$columna=$_POST['usr_columna'];
$rute=$_POST['usr_ruta']; 
el problema es que ahora realiza la actualizacion de los datos correctamente en la base de datos, PERO NO REALIZA LA CARGA DEL ARCHIVO AL SERVIDOR.

pero si elimino esas variables o bien si las pongo despues de estos datos:

Código PHP:
$rutaEnServidor='imagenes';
$rutaTemporal=$_FILES['imagen']['tmp_name'];
$nombreImagen=$id.'-'.$tabla.'-'.$_FILES['imagen']['name'];
$rutaDestino=$rutaEnServidor.'/'.$nombreImagen
y antes de
Código PHP:
move_uploaded_file($rutaTemporal,$rutaDestino); 
si realiza la carga del archivo osea aparece en mi carpeta imagenes como lo declare, tambien hace la actualizacion en la base de datos la esta realizando de manera correcta, el detalle es que las variables de $id y $tabla las utilizo para hacer una diferenciacion de las imagenes por si tienen nombres iguales pero si son declaradas antes no realiza la carga
Código PHP:
nombreImagen=$id.'-'.$tabla.'-'.$_FILES['imagen']['name'];