Foros del Web » Programando para Internet » PHP »

pasar " a base de batos

Estas en el tema de pasar " a base de batos en el foro de PHP en Foros del Web. Ya sé (puesto que me da error) que el siguiente script esta mal echo, lo pongo para dar una idea de lo que quiero conseguir. ...
  #1 (permalink)  
Antiguo 13/03/2003, 04:19
 
Fecha de Ingreso: febrero-2003
Mensajes: 204
Antigüedad: 14 años, 10 meses
Puntos: 2
Pasar apostrofe a base de datos

Ya sé (puesto que me da error) que el siguiente script esta mal echo, lo pongo para dar una idea de lo que quiero conseguir.

$condicion1 = "Where responsable='".$nombre_res"'";

en el supuesto que $nombre_res = "Pepe"
Lo que pretendo es crear una variable que contenga esta cadena

Where responsable= 'Pepe'

Esta cadena luego la tengo que pasar a un campo de una tabla

Si lo consigo, el resto funcionará , ya que lo he probado intruciendo manuamente a la tabla
Where responsable= 'Pepe'

Alguna idea ?

Entretanto por mi parte seguiré pensando
  #2 (permalink)  
Antiguo 13/03/2003, 04:23
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 14 años, 9 meses
Puntos: 1
bueno yo lo que hice para un buscador en una tabla fue lo siguiente

Código PHP:
"SELECT * FROM tabla WHERE  $selecion = '$buscar'" 
tanto el seleccion como el buscar son dos variables que se pasan por post desde un form

uN Saludo
  #3 (permalink)  
Antiguo 13/03/2003, 09:35
Avatar de Cain  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 6.459
Antigüedad: 15 años, 11 meses
Puntos: 17
Para pasar apóstrofes, comillas y otros caracteres peligrosos, utiliza mysql_escape_string()
__________________
M a l d i t o F r i k i
  #4 (permalink)  
Antiguo 13/03/2003, 09:39
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Podrías usar:

mysql_escape_string()
http://www.php.net/manual/en/functio...ape-string.php

Con eso se "escapan" automaticamente caracteres tipo apostofre, comillas dobles y algunos caracteres mas añadiendo un \ (slash) al caracter "conflictivo" ..

(fijate en el ejemplo del propio manual q te remito el link)

Un saludo,
  #5 (permalink)  
Antiguo 14/03/2003, 16:48
 
Fecha de Ingreso: febrero-2003
Mensajes: 204
Antigüedad: 14 años, 10 meses
Puntos: 2
pasar " a base de batos

Ya anteriormente pregunte como pasar apostrofe.

me he mirado mysql_escape_string
y me da resultado

ej.

$item = "And activo = '3'";
$filtro_escape = mysql_escape_string($item);
$filtro_para_where = $filtro_escape;

Ahora quisiera pasar comillas y no veo como hacerlo

por ejemplo pasar a la base de datos esta linea

And fecha_s < "2003-03-14"

gracias
  #6 (permalink)  
Antiguo 14/03/2003, 16:54
 
Fecha de Ingreso: febrero-2003
Mensajes: 204
Antigüedad: 14 años, 10 meses
Puntos: 2
Si ya vi, pero no se como pasar comillas

me he mirado mysql_escape_string
y me da resultado

ej.

$item = "And activo = '3'";
$filtro_escape = mysql_escape_string($item);
$filtro_para_where = $filtro_escape;

Ahora quisiera pasar comillas y no veo como hacerlo

por ejemplo pasar a la base de datos esta linea

And fecha_s < "2003-03-14"

gracias
  #7 (permalink)  
Antiguo 15/03/2003, 05:45
 
Fecha de Ingreso: enero-2002
Mensajes: 132
Antigüedad: 15 años, 11 meses
Puntos: 1
graba esto

Prueba grabando esto

And fecha_s < \"2003-03-14\"

o esto

And fecha_s < '2003-03-14'
__________________
Un saludo, esperando ser de ayuda...
COMUN :stress:

Diseño y Programación
Tierra de Califas
http://www.tecnocodigo.com/dipro/
  #8 (permalink)  
Antiguo 15/03/2003, 09:12
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Esa cadena:

And fecha_s < "2003-03-14"

De donde la envias? .. de un formulario HTML a un scrpt PHP que lo usará como parte de una consulta SQL?

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #9 (permalink)  
Antiguo 18/03/2003, 10:26
 
Fecha de Ingreso: febrero-2003
Mensajes: 204
Antigüedad: 14 años, 10 meses
Puntos: 2
Ya lo solucioné con:

"And fecha_s < \"2003-03-14\""

Gracias
  #10 (permalink)  
Antiguo 18/03/2003, 10:40
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues la función addslashes() te pone automaticamente esos \ en las comillas dobles y otros caracteres (escapa):

Código PHP:
$tu_cadena='And fecha_s < "2003-03-14"';
$tu_cadena=addslashes($tu_cadena);
echo 
$tu_cadena
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 06:31.