Tema: Insert
Ver Mensaje Individual
  #2 (permalink)  
Antiguo 06/02/2006, 01:24
Avatar de levhita
levhita
 
Fecha de Ingreso: febrero-2006
Ubicación: Guadalajara, México
Mensajes: 88
Antigüedad: 18 años, 2 meses
Puntos: 0
Posiblemente por el contenido, hay una cosa llamada inyección SQL, que hay que tomar mucho en cuenta.

Mira aqui la cadena te parece muy logica:

"..... '$pregunta4' ......"

Pero recuerda que PHP lo preprocesa, y genera una cadena nueva dependiendo del contenido de $pregunta4, si $pregunta4 es igual a "');". entonce tu cadena se reescribiria como.

'');'

Como puedes ver es algo extraño y definivamente no es válido para SQL, para solucionarlo debes de utilizar el siguiente código para "convertir" el contenido de las variables en un formato seguro para sql.

Código PHP:
$campo_limpio addsslashes(stripslashes($campo)); 
El stripslashes es para eliminar las "slashes"(diagonal '\') en caso de que PHP las halla añadido automaticamente(cuando la configuración magic_quotes_gpc esta encendida).

Y el addslashes para añadirlas nuevamente(en caso de que PHP no halla añadido las diagonales automaticamente).

Adicionalmente te conviene añadir código de comprobación que te avise cuando la consulta no fue ejecutada correctamente y te diga porque, en especial si estas en desarollo(en producción conviene registrar los errores en una base de datos.)

Código PHP:
if(!$mysql_query($sql)){
 echo 
mysql_error();
 die();

__________________
"La libertad viene en paquetes pequeños, usualmente TCP/IP"
http://blog.levhita.net/