Foros del Web » Programando para Internet » PHP »

Error al guaradar datos

Estas en el tema de Error al guaradar datos en el foro de PHP en Foros del Web. Buenas tarder maestros. El problema al cual me refiero es que al momento de llamar una funcion para ingresar registros a mi base de datos ...
  #1 (permalink)  
Antiguo 17/05/2011, 15:24
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Error al guaradar datos

Buenas tarder maestros.

El problema al cual me refiero es que al momento de llamar una funcion para ingresar registros a mi base de datos obtengo un erro, ya que en un campo deseo guardar una consulta echa anteriormente. Aqui esta el codigo y el error

Código PHP:
Ver original
  1. function ActualizaAlarmas($telefono,$alarma,$consulta){
  2.  
  3.     $fecha=date("Y-m-d");
  4.     $hora=date("H:i:s");
  5.     $sql=mysql_query("INSERT INTO bugreport(telefono, fecha, hora, alarma, consulta) VALUES ('$telefono','$fecha','$hora','$alarma','$consulta') ")
  6.     or die ("Error al ingresar datos ".mysql_error());
  7.    
  8. }

Error

Error al ingresar datos 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 '0' AND Vehiculo_id='2224511682' AND FechaProc ='2011-05-17'')' at line 1

Nota la variable $consulta tiene un formato similar al siguiente:

SELECT * FROM bblogdec WHERE Sat= '0' AND Vehiculo_id='2224511682' AND FechaProc ='2011-05-17'

Espero alguien pueda ayudarme.

Saludos
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #2 (permalink)  
Antiguo 17/05/2011, 15:38
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error al guaradar datos

Una pregunta, ¿porque quieres guardar una consulta de SQL como valor de una columna?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 17/05/2011, 15:46
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Error al guaradar datos

debes reemplazar las comillas:

antes de hacer el insert agrega esta linea para cambiar la variable $consulta:

$consulta=str_replace("'","\'",$consulta);
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #4 (permalink)  
Antiguo 17/05/2011, 15:47
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: Error al guaradar datos

Cita:
Iniciado por pateketrueke Ver Mensaje
Una pregunta, ¿porque quieres guardar una consulta de SQL como valor de una columna?
La razon es que estoy realizando un monitoreo de errores y me piden guardar la consulta para posteriormente ingresar a los registros de la base de datos, ya que tomando en cuenta que la base de datos es demasiado extensa me parece mas facil realizare esto. Tomando en cuenta que la consulta se modifica cada determinado tiempo necesito guardarla para tener un historial.

pero no se si se pueda o algun consejo que me puedas dar pateketrueke para poder guardar este tipo de registro?
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #5 (permalink)  
Antiguo 17/05/2011, 15:49
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error al guaradar datos

Consejo: escapa todas tus variables.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 17/05/2011, 15:52
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: Error al guaradar datos

Cita:
Iniciado por stramin Ver Mensaje
debes reemplazar las comillas:

antes de hacer el insert agrega esta linea para cambiar la variable $consulta:

$consulta=str_replace("'","\'",$consulta);
Perfecto funciono de maravilla Gracias
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #7 (permalink)  
Antiguo 17/05/2011, 15:53
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Error al guaradar datos

exacto, estas insertando comillas simples en tu consulta y eso hace que se cierre la variable, o sea estas insertando esto:

INSERT INTO bugreport(telefono, fecha, hora, alarma, consulta) VALUES ('$telefono','$fecha','$hora','$alarma','SELECT * FROM bblogdec WHERE Sat= '0' AND Vehiculo_id='2224511682' AND FechaProc ='2011-05-17'')
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #8 (permalink)  
Antiguo 17/05/2011, 16:01
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: Error al guaradar datos

Cita:
Iniciado por stramin Ver Mensaje
exacto, estas insertando comillas simples en tu consulta y eso hace que se cierre la variable, o sea estas insertando esto:

INSERT INTO bugreport(telefono, fecha, hora, alarma, consulta) VALUES ('$telefono','$fecha','$hora','$alarma','SELECT * FROM bblogdec WHERE Sat= '0' AND Vehiculo_id='2224511682' AND FechaProc ='2011-05-17'')
¿y como podria hacer eso que dice pateketrueke? de escapar las variable, ya que nunca he realizado algo parecido

saludos
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125
  #9 (permalink)  
Antiguo 17/05/2011, 16:07
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error al guaradar datos

Tienes que usar mysql_real_escape_string()
http://php.net/mysql_real_escape_string
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #10 (permalink)  
Antiguo 17/05/2011, 16:13
Avatar de skiper0125  
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 13 años, 6 meses
Puntos: 511
Respuesta: Error al guaradar datos

Cita:
Iniciado por pateketrueke Ver Mensaje
Tienes que usar mysql_real_escape_string()
http://php.net/mysql_real_escape_string
Gracias por la ayuda
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125

Etiquetas: Ninguno
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 06:35.