Foros del Web » Programando para Internet » PHP »

problemas en comillas sencillas

Estas en el tema de problemas en comillas sencillas en el foro de PHP en Foros del Web. Hola todos tengo el siguiente formulario: Código: <form method=post action=execsql.php> SQL: <input name=sql size=50> <input type=submit value=Exec> </form> y recojo el valor del campo "sql" ...
  #1 (permalink)  
Antiguo 04/06/2004, 00:04
amj
 
Fecha de Ingreso: marzo-2002
Ubicación: Manizales
Mensajes: 152
Antigüedad: 15 años, 8 meses
Puntos: 1
problemas en comillas sencillas

Hola todos tengo el siguiente formulario:
Código:
<form method=post action=execsql.php>
SQL: <input name=sql size=50> <input type=submit value=Exec>
</form>
y recojo el valor del campo "sql" así:
Código:
$sql = $_POST['sql'];
El problema ocurre cuando envío consultas que necesitan comillas sencillas (')
(como por ejemplo select * from usuario where estado = 'E') la variable $sql contiene: select * from usuario where estado = \'E\' y obviamente al ejecutar esta consulta me daría error.
Como soluciono esto gracias
__________________
"SJ
  #2 (permalink)  
Antiguo 04/06/2004, 04:25
 
Fecha de Ingreso: junio-2004
Mensajes: 91
Antigüedad: 13 años, 6 meses
Puntos: 0
Pueba con esto:

SELECT .... where letra = '".E."';
  #3 (permalink)  
Antiguo 04/06/2004, 08:22
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Usa:

Código PHP:
$sql=stripslashess($sql); 
Y MUCHO OJO! donde vas a usar ese "formulario" que le pasas una sentencia SQL COMPLETA!!!!! .. por qué lo mismo que tu haces el "inocente" SELECT .. otro "malintencionado" podría hacerte un DELETE ....

Un saludo,
  #4 (permalink)  
Antiguo 05/06/2004, 01:28
amj
 
Fecha de Ingreso: marzo-2002
Ubicación: Manizales
Mensajes: 152
Antigüedad: 15 años, 8 meses
Puntos: 1
Esa función stripslashess() si existe?
Porque me sale:
Fatal error: Call to undefined function: stripslashess()
__________________
"SJ
  #5 (permalink)  
Antiguo 05/06/2004, 06:24
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

No hay nada como www.php.net y su buscador. Pones el nombre de una funcion y te encuentra su manual. Metes el nombre un poco equivocado de una funcion, y te saca una lista de funciones de nombre parecido. Teniendo en cuenta el numero elevado de funciones que tiene PHP, y las prisas con las que se contesta en los foros, siempre hay posibilidades de erratas. Comprueba en el manual todas las funciones nuevas que aprendas por los foros y manuales de internet.

Sobre la duda en cuestion, lo que te pasa es debida a la configuracion de tu PHP, que tiene la directiva magic_quotes_gpc a ON. Con esa directiva todas las entradas son escapadas. Asi que solo deberias usar stripslas....() si esa directiva esta a ON.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #6 (permalink)  
Antiguo 09/06/2004, 00:28
amj
 
Fecha de Ingreso: marzo-2002
Ubicación: Manizales
Mensajes: 152
Antigüedad: 15 años, 8 meses
Puntos: 1
$sql = stripslashes($_POST['sql']); //elimina la barra invertida
__________________
"SJ
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 08:36.