Ver Mensaje Individual
  #1 (permalink)  
Antiguo 06/03/2006, 07:14
Avatar de emiliodeg
emiliodeg
 
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
INSERT en mysql

hola gente, seguramente mas de uno se topo con este problema q hoy tengo yo, esutve buscando en el foro y no encontre una ayuda a mi medida. el tema es el siguiente, creo q le dicen "sql inyection" a esto, en un insert del tipo

Código PHP:
mysql_query("INSERT INTO tabla (id,nombre,descrip) VALUES ('','$_POST['nombre']','$_POST['descript']')"); 
anda todo perfecto, pero nunca falta un usuario web q mete caracteres "raros", todo lo referente a palabras asentuadas lo logre salvar con htmlentities(), pero se complico con los ' comillas simples, yo hice una pequeña funcion para saltar todos estos posibles errores

Código PHP:
$campo=nl2br(htmlentities(str_replace("\'","\\'",trim($_POST['campo_recibido'])))); 
y luego guardo este dato en la base de datos

Código PHP:
mysql_query("INSERT INTO tabla (id,nombre,descrip) VALUES ('','$campo1','$campo2')"); 
y en esta ocacion anda perfecto
ahora quisiera saber si hay alguna forma un poco mas eficiente, ya q para cada campo q recibo de un formulario tengo q aplicarle esta funcioncita q hice

la unica ventaja q vi fue q los datos como quedna guardados los puedo recuperar sin ningun problema y quiero mantener esta ventaja, me refieron a q pueda recuperar los daots y mostrarlos directamente sin tener q hacer ningun proceso extra a la hora de mostrarlos

alguna idea???