Foros del Web » Programando para Internet » PHP »

Lios con comillas en query

Estas en el tema de Lios con comillas en query en el foro de PHP en Foros del Web. Que tal amigos, Tengo lios al tratar de insertar en un campo de una tabla una cadena como la siguiente: campo not in ('abc') es ...
  #1 (permalink)  
Antiguo 03/05/2007, 12:29
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 19 años, 9 meses
Puntos: 8
Pregunta Lios con comillas en query

Que tal amigos,

Tengo lios al tratar de insertar en un campo de una tabla una cadena como la siguiente:

campo not in ('abc')

es decir, al tratar de hacer

Código PHP:
$x "campo in ('abc')";
$query "INSERT INTO taba (campo) VALUES ('$x')"
genera error de sintaxis

En php.ini tengo activado magic_quotes_gpc

He activado en otras pruebas magic_quotes_runtime y magic_quotes_sybase, pero pailas.... sigue generando error de sintaxis

Agradezco a quien me pueda ayudar con esto


Un Cordial Saludo
  #2 (permalink)  
Antiguo 03/05/2007, 12:38
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 9 meses
Puntos: 88
Re: Lios con comillas en query

prueba utilizando addslashes()
Código PHP:
$x "campo in ('abc')";
$query "INSERT INTO taba (campo) VALUES ('".addslashes($x)."')"
magic_quotes_gpc solo agrega el caracter de escape (\) cuando el valor o valores son pasados a traves del método post o get.

suerte y saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #3 (permalink)  
Antiguo 03/05/2007, 12:43
Avatar de el cirujano  
Fecha de Ingreso: mayo-2003
Ubicación: Frente al PC
Mensajes: 609
Antigüedad: 20 años, 10 meses
Puntos: 3
Re: Lios con comillas en query

o podrias tambien usar mysql_real_escape_string()

Código PHP:
$x "campo in ('abc')";
$query "INSERT INTO tabla VALUES ('".mysql_real_escape_string($x)."')"
__________________
CSS2 + AJAX + PHP + MySQL, una mezcla sin competencia!!!!!!
  #4 (permalink)  
Antiguo 03/05/2007, 12:43
Avatar de tulises16  
Fecha de Ingreso: diciembre-2003
Ubicación: La Plata, Argentina
Mensajes: 92
Antigüedad: 20 años, 3 meses
Puntos: 1
Re: Lios con comillas en query

Tal vez asi?

$x = "campo in ('abc')";
$query = "INSERT INTO taba (campo) VALUES ($x)";
__________________
Ulises
  #5 (permalink)  
Antiguo 03/05/2007, 12:53
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 9 meses
Puntos: 88
Re: Lios con comillas en query

Cita:
Iniciado por tulises16 Ver Mensaje
Tal vez asi?

$x = "campo in ('abc')";
$query = "INSERT INTO taba (campo) VALUES ($x)";
no creo que funcione ya que como lo que esta insertando es texto tendria que estar entre comillas simples ( ' ) o dobles ( " ), es decir, que debe tener a $x así '$x' o así "$x", claro que puede hacer esto $x="campo in (\'abc\')" y usarlo que planteo augusto_jaramil desde el principio pero para eso sirven las funciones que se mencionaron antes.

saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #6 (permalink)  
Antiguo 03/05/2007, 13:34
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 19 años, 9 meses
Puntos: 8
Re: Lios con comillas en query

Hola de nuevo....

Antes que nada deseo agradecerles sus respuestas.

De las opciones que me han dado utilice la de eits (addslashes()) pero pailas... sigo con mi lio. Al utilizarla queda el query asi
Código PHP:
insert into xx values('not in (\'xx\')'
Y sigo obteniendo error de sintaxis

Un Cordial Saludo
  #7 (permalink)  
Antiguo 03/05/2007, 13:41
 
Fecha de Ingreso: abril-2006
Mensajes: 80
Antigüedad: 17 años, 11 meses
Puntos: 2
Re: Lios con comillas en query

Yo lo haría así:

$x = "campo in ('abc')";
$query = "INSERT INTO taba (campo) VALUES (".$x.")";
  #8 (permalink)  
Antiguo 03/05/2007, 13:43
 
Fecha de Ingreso: junio-2004
Ubicación: Ciudad de Panama
Mensajes: 551
Antigüedad: 19 años, 9 meses
Puntos: 8
Re: Lios con comillas en query

Hola de nuevo....

Como que ya solucione el lio, quedo asi

Código PHP:
$x "not in ('abc')";
$ins "insert into xx values(\"$x)\")"
Y como que funciono... Igualmente mil gracias a todos

Un Cordial Saludo
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 03:42.