Foros del Web » Programando para Internet » PHP »

Error de Syntaxis sql, o algo asi...

Estas en el tema de Error de Syntaxis sql, o algo asi... en el foro de PHP en Foros del Web. en el cms de mi pagina web meloniamaster.com, desde que cambie de hosting (dos semanas y pico) cuando voy a insertar una noticia, me da ...
  #1 (permalink)  
Antiguo 15/04/2009, 08:29
 
Fecha de Ingreso: septiembre-2008
Mensajes: 30
Antigüedad: 15 años, 6 meses
Puntos: 2
Error de Syntaxis sql, o algo asi...

en el cms de mi pagina web meloniamaster.com, desde que cambie de hosting (dos semanas y pico) cuando voy a insertar una noticia, me da el siguiente error:

INSERT INTO melonia_site_noticias (Titulo, Contenido, Fecha, Hora, Tags, TituloUrl, Plataformas, IdSubbloque, MKeys, MDesc) VALUES ('a', '

a
', '2009-04-15','09:26', 'a', 'a.html', '', , 'a', 'aa')
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 ' 'a', 'aa')' at line 1


Cuando la web estaba alojadada en el otro hosting no daba problemas. Sabeis que puede ser?
  #2 (permalink)  
Antiguo 15/04/2009, 08:35
Avatar de Acron_0248  
Fecha de Ingreso: junio-2005
Ubicación: 127.0.0.1
Mensajes: 1.648
Antigüedad: 18 años, 9 meses
Puntos: 18
Respuesta: Error de Syntaxis sql, o algo asi...

Acá:

'a', 'a.html', '', , 'a', 'aa'


Esas dos comas consecutivas.
__________________
Usuario Reigistrado de linux #399288
  #3 (permalink)  
Antiguo 15/04/2009, 08:51
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: Error de Syntaxis sql, o algo asi...

Exactamente ese debe ser el problema.
Recuerda que si no hay datos para ingresar y el campo es NOT NULL, debes ingresar un vacío (''), pero si admite NULL, puedes poner NULL.
Es decir o esto:
Código sql:
Ver original
  1. INSERT INTO melonia_site_noticias (Titulo, Contenido, Fecha, Hora, Tags, TituloUrl, Plataformas, IdSubbloque, MKeys, MDesc)
  2. VALUES ('a', 'a', '2009-04-15','09:26', 'a', 'a.html', '', NULL, 'a', 'aa');
O esto:
Código sql:
Ver original
  1. INSERT INTO melonia_site_noticias (Titulo, Contenido, Fecha, Hora, Tags, TituloUrl, Plataformas, IdSubbloque, MKeys, MDesc)
  2. VALUES ('a', 'a', '2009-04-15','09:26', 'a', 'a.html', '', '', 'a', 'aa');
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 17/04/2009, 04:05
 
Fecha de Ingreso: septiembre-2008
Mensajes: 30
Antigüedad: 15 años, 6 meses
Puntos: 2
Respuesta: Error de Syntaxis sql, o algo asi...

En el archivo php noticias.php que es el encargado de crear las noticias y llamar a la sql este es el codigo:

$sql = "INSERT INTO " . TABLA_NOTICIAS . " (";
$sql .= "Titulo, Contenido, Fecha, Hora, Tags, TituloUrl, Plataformas, IdSubbloque, MKeys, MDesc";
$sql .= ") VALUES (";
$sql .= "'".$_POST['titulo']."', '".$_POST['elm1']."', '$fecha','$hora', '".$Tags."', '".$TituloUrl."', ";
$sql .= "'".$Plataformas."', ".$IdSubbloque.", '" . $_POST['MKeys'] . "', '" . $_POST['MDesc'] . "'";
$sql .= ")";
$db->query($sql);
$id_d = $db->mysql_insert_id();

¿Esta el error ahi?

Última edición por melonidas; 17/04/2009 a las 04:11
  #5 (permalink)  
Antiguo 17/04/2009, 05:11
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: Error de Syntaxis sql, o algo asi...

Cita:
Iniciado por melonidas Ver Mensaje
En el archivo php noticias.php que es el encargado de crear las noticias y llamar a la sql este es el codigo:

$sql = "INSERT INTO " . TABLA_NOTICIAS . " (";
$sql .= "Titulo, Contenido, Fecha, Hora, Tags, TituloUrl, Plataformas, IdSubbloque, MKeys, MDesc";
$sql .= ") VALUES (";
$sql .= "'".$_POST['titulo']."', '".$_POST['elm1']."', '$fecha','$hora', '".$Tags."', '".$TituloUrl."', ";
$sql .= "'".$Plataformas."', ".$IdSubbloque.", '" . $_POST['MKeys'] . "', '" . $_POST['MDesc'] . "'";
$sql .= ")";
$db->query($sql);
$id_d = $db->mysql_insert_id();

¿Esta el error ahi?
El error puede estar allí, pero es invisible entre tanto código PHP. Puede ser el PHP o el SQL o las variables. Lo que tienes que establecer es cómo queda finalmente la sentencia cuando le pones los valores.
Si es PHP, esta sección es para Bases de Datos, no programación (Función de la sección de Base de Datos ). Eso te conviene verificarlo en el Foro PHP que es donde se trata ese lenguaje.
__________________
¿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 18/04/2009, 08:20
 
Fecha de Ingreso: septiembre-2008
Mensajes: 30
Antigüedad: 15 años, 6 meses
Puntos: 2
Respuesta: Error de Syntaxis sql, o algo asi...

pongo el mensaje de nuevo en esas secciones? Abro un mensaje linkeando aca, o que hago.

Gracias
y disculpad las molestias
  #7 (permalink)  
Antiguo 18/04/2009, 19:52
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: Error de Syntaxis sql, o algo asi...

Postea en el foro correcto, o pide a los moderadores que lo trasladen.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #8 (permalink)  
Antiguo 20/04/2009, 03:26
 
Fecha de Ingreso: septiembre-2008
Mensajes: 30
Antigüedad: 15 años, 6 meses
Puntos: 2
Respuesta: Error de Syntaxis sql, o algo asi...

Moderadores, podriais trasladar este mensaje al foro php?

Gracias
  #9 (permalink)  
Antiguo 20/04/2009, 09:31
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Error de Syntaxis sql, o algo asi...

Tema trasladado desde MySQL
  #10 (permalink)  
Antiguo 21/04/2009, 04:13
 
Fecha de Ingreso: septiembre-2008
Mensajes: 30
Antigüedad: 15 años, 6 meses
Puntos: 2
Respuesta: Error de Syntaxis sql, o algo asi...

Podria alguien de este foro ayudarme a solucionar el problema de este mensaje.

Gracias
  #11 (permalink)  
Antiguo 21/04/2009, 10:15
Avatar de Acron_0248  
Fecha de Ingreso: junio-2005
Ubicación: 127.0.0.1
Mensajes: 1.648
Antigüedad: 18 años, 9 meses
Puntos: 18
Respuesta: Error de Syntaxis sql, o algo asi...

El error está en esta línea:

Código PHP:
$sql .= "'".$Plataformas."', ".$IdSubbloque.", '" $_POST['MKeys'] . "', '" $_POST['MDesc'] . "'"
Como verás, no colocaste las comillas simples para $IdSubbloque, el código correcto sería:
Código PHP:

$sql 
.= "'".$Plataformas."', '".$IdSubbloque."', '" $_POST['MKeys'] . "', '" $_POST['MDesc'] . "'"
Trata, en el futuro, de usar menor número de concatenaciones para counstruir consultas con tantos elemenos, así te será más fácil, en caso de error de sintaxis, saber dónde está el error.

Algo más sencillo de leer sería:
Código PHP:
$sql2 "INSERT INTO ".TABLA_NOTICIAS.
    (Titulo, Contenido, Fecha, Hora, Tags,
     TituloUrl, Plataformas, IdSubbloque, MKeys, MDesc) 
   VALUES 
    ('{$_POST['titulo']}','{$_POST['elm1']}','$fecha',
     '$hora','$Tags','$TituloUrl','$Plataformas',
     '$IdSubbloque','{$_POST['MKeys']}','{$_POST['MDesc']}')"

Aún sería posible perderse entre tantos valores y variables pero es mucho mejor que tantas concatenaciones.
__________________
Usuario Reigistrado de linux #399288
  #12 (permalink)  
Antiguo 28/04/2009, 17:55
 
Fecha de Ingreso: septiembre-2008
Mensajes: 30
Antigüedad: 15 años, 6 meses
Puntos: 2
Respuesta: Error de Syntaxis sql, o algo asi...

Hola, buenas de nuevo.

Puse las comillas simples donde me dijeron y soluciono el problema parcialmente. Ya que al menos la noticia se guardaba, sin embargo no se publicaba ya que aunque yo le decia que se publicase en el ''home'' no aparecia en ningun bloque. Luego intente cambiar todo el codigo por el codigo que me dieron y tampoco ha funcionado.

Espero podais ayudarme, gracias

Última edición por melonidas; 28/04/2009 a las 18:15
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:12.