Foros del Web » Programando para Internet » PHP »

Problema de sintaxys SQL

Estas en el tema de Problema de sintaxys SQL en el foro de PHP en Foros del Web. Estoy intentando esta consulta.. $up1 = 'UPDATE banners SET orden=orden+1 WHERE seccion='.$_GET['seccion'].' AND orden<'.$inicio.' AND orden>='.$fin; pero me da... You have an error in your ...
  #1 (permalink)  
Antiguo 27/01/2013, 15:38
Avatar de Capimaster  
Fecha de Ingreso: agosto-2004
Mensajes: 494
Antigüedad: 19 años, 8 meses
Puntos: 2
Problema de sintaxys SQL

Estoy intentando esta consulta..
$up1 = 'UPDATE banners SET orden=orden+1 WHERE seccion='.$_GET['seccion'].' AND orden<'.$inicio.' AND orden>='.$fin;

pero me da...
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 'AND orden>1 AND orden<=2' at line 1
__________________
http://www.elcapitolio.com.mx - Ocotlán, Jalisco, México
  #2 (permalink)  
Antiguo 27/01/2013, 16:21
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema de sintaxys SQL

¿La columna "seccion" que tipo de dato es?

Porque si es VARCHAR o contiene texto debe ir entre apóstrofos, cosa que no usas.

PDTA: los errores de sintaxis SQL no corresponden al foro de PHP, aquí no es foro de base de datos...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 27/01/2013, 16:27
Avatar de Capimaster  
Fecha de Ingreso: agosto-2004
Mensajes: 494
Antigüedad: 19 años, 8 meses
Puntos: 2
Respuesta: Problema de sintaxys SQL

banner_admin.php?bajar=3&orden=3&seccion=1

seccion puede ser 1 2 o 3


pd. me puedes migrar el post a sql.... gracias
__________________
http://www.elcapitolio.com.mx - Ocotlán, Jalisco, México
  #4 (permalink)  
Antiguo 27/01/2013, 16:45
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema de sintaxys SQL

Bueno, pues hay algo mal en la consulta, no creo posible adivinar.

Imprime tu consulta antes de ejecutarla y observa si está bien escrita.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 27/01/2013, 17:13
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Problema de sintaxys SQL

Empecemos por depurar la basura.
- No pongas la cadena en PHP entre apóstrofos para evitar confundir el uso que le da PHP del que le da MySQL (acuérdate que son cosas independientes y no relacionadas). Es preferible que uses comillas (").
- Los valores numéricos en el SQL deben quedar sin apóstrofos.
- Los valores de cadena, fechas y foras deben ir entre apóstrofos.
- Construye la variable de modo que puedas leer la sentencia de SQL ordenadamente, para que los errores sintácticos se vena más claramente.

Algo como:
Código PHP:
Ver original
  1. $up1 = "UPDATE banners SET orden = orden + 1 ";
  2. $up1 .= " WHERE seccion='".$_GET['seccion']."' ";
  3. $up1 .= " AND orden< $inicio AND orden>=$fin";
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 27/01/2013, 22:03
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Problema de sintaxys SQL

Independientemente del error en la sintáxis, si orden debe ser < $inicio y >= $fin, me parece que hay un error en el planteamiento, a menos que $inicio > $fin
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: mysql, 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 13:57.