Foros del Web » Programando para Internet » PHP »

como hago esta consulta?

Estas en el tema de como hago esta consulta? en el foro de PHP en Foros del Web. Hola que tal, tengo la siguiente consulta a la base de datos: Código PHP: "UPDATE $tabla SET fotofirma='$path', fotofirmaup='$ruta' WHERE id='$id'"  Pero me aparece el siguiente error: You have an error ...
  #1 (permalink)  
Antiguo 16/07/2008, 20:26
 
Fecha de Ingreso: febrero-2006
Mensajes: 217
Antigüedad: 18 años, 2 meses
Puntos: 0
como hago esta consulta?

Hola que tal, tengo la siguiente consulta a la base de datos:
Código PHP:
"UPDATE $tabla SET fotofirma='$path', fotofirmaup='$ruta' WHERE id='$id'" 
Pero me aparece el siguiente error:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET fotofirma=, fotofirmaup= WHERE id=' at line 1

resulta que no puedo ver que es lo que esta mal, porque tengo otra consulta con la misma estructura y funciona perfecto.

¿que tengo mal?
  #2 (permalink)  
Antiguo 17/07/2008, 09:34
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: como hago esta consulta?

Es posible que $path y $ruta esten vacios... fijate que en el error te dicen:


SET fotofirma=, fotofirmaup= WHERE id='

es decir parece que no recibe nada de la variable php...

ademas generalmente el id no es alfanumerico y tu estas haciendo esto

id='$id'

Quim
  #3 (permalink)  
Antiguo 17/07/2008, 10:21
 
Fecha de Ingreso: febrero-2006
Mensajes: 217
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: como hago esta consulta?

las variables si tienen valores, solo que antes puse otro ejemplo.

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET fotofirma='fotos_fichas/4954051.gif', fotofirmaup='../fotos_fichas/4954051.g' at line 1

y la id tiene que ser igual al valor que llega como una variable, o sea $id=$GET['id'], dependiendo de la id que llegue, se hace la actualizacion en los registros de esa $id.
  #4 (permalink)  
Antiguo 17/07/2008, 10:27
 
Fecha de Ingreso: febrero-2006
Mensajes: 217
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: como hago esta consulta?

Las variables no estan vacias, es que hice un submit en el form para copiar y pegar el error sin cargar nada. Pero cuando intento subir el archivo, si aparece la variable con contenido:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET fotofirma='fotos_fichas/4953442.gif', fotofirmaup='../fotos_fichas/4953442.g' at line 1

Fijense que tengo esta consulta y funciona perfecto:

Código PHP:
"UPDATE noticias_fichas SET titulo='$titulo', fuente='$fuente', resumen='$resumen', noticia='$noticia' WHERE id='$id'" 
Que puede ser?

Última edición por Ruben_C; 17/07/2008 a las 11:19
  #5 (permalink)  
Antiguo 17/07/2008, 13:22
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Respuesta: como hago esta consulta?

Ruben_C, por favor NO coloques código o variables de código en la sección de Base de Datos.

Función de la sección de Base de Datos

Si tomas los valores, ejecutas el SQL te funciona, el error es de programación.
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #6 (permalink)  
Antiguo 17/07/2008, 15:54
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: como hago esta consulta?

He reportado a BrujoNic para intentar ofrecerte orientación sobre el problema, que, como te ha dicho BrujoNic, es de programación.
Si la sintaxis SQL es la misma, y la sintaxis PHP también lo era en ambos casos, el problema tiene que estar en la naturaleza de los datos. En esas direcciones incluyes \ . barras y puntos, que en PHP deben ser escapadas. Usando addslashes e introduciendo la doble barra por la barra, lo resolverás.

$conexion = mysql_connect('localhost','root','tuclave');
mysql_select_db("Ruben_C", $conexion);
$dato1=addslashes("fotos_jajaja/4954051.gif");
$dato2=addslashes("../fotos_tra/495405.gif\\");
$query="UPDATE nombretabla SET fotofirma='$dato1', fotofirmaup='$dato2' where id = 1";
$res=mysql_query($query);
?>

Si BrujoNic mueve el hilo a PHP, seguramente te den los especialistas una solución mejor y más limpia al problema, pero es claramente de programación.
  #7 (permalink)  
Antiguo 17/07/2008, 16:18
 
Fecha de Ingreso: julio-2008
Mensajes: 2
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: como hago esta consulta?

Creo que estas haciendo mal la consulta, pones las variables directamente en la consulta y creo que deberias concatenarlas

"UPDATE ".$tabla." SET fotofirma=".$path.", fotofirmaup=".$ruta." WHERE id=".$id.'"

Estas comparando puras cadenas, quiza por ahi venga el error, ¿que pasa si el id es un entero?, lo estas comparando como si fuera cadena...
Dices que tienes otra igual y te va bien, pero tambien depende de como recibe los datos,pureba esto y nos cuentas si te resolvió.

Saludos..!!

Última edición por black1103; 17/07/2008 a las 16:32
  #8 (permalink)  
Antiguo 17/07/2008, 18:35
 
Fecha de Ingreso: febrero-2006
Mensajes: 217
Antigüedad: 18 años, 2 meses
Puntos: 0
Respuesta: como hago esta consulta?

ya lo arregle, si era con php, epecificamente un if, gracias.
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 13:16.