Foros del Web » Programando para Internet » PHP »

problemas con las " en mysql

Estas en el tema de problemas con las " en mysql en el foro de PHP en Foros del Web. Hola a todos cree un form (formulario) para que los usuarios llenen y cuyos resultados van a ser introducidos en una base de datos. todo ...
  #1 (permalink)  
Antiguo 11/03/2004, 12:55
 
Fecha de Ingreso: octubre-2003
Mensajes: 117
Antigüedad: 20 años, 5 meses
Puntos: 0
problemas con las " en mysql

Hola a todos

cree un form (formulario) para que los usuarios llenen y cuyos resultados van a ser introducidos en una base de datos.

todo me funciona bien a menos que los usuarios coloque el caracter "... ya que este me causa un error de sintaxis en la pagina php que incluye los valores en la base de datos.

al parecer cuando se hace el insert, al tomar el valor de la " como parte de la sintaxis del insert y no como un valor de un campo.

me explico: mi consulta a la base de datos es la siguiente:

$consulta = 'insert into prueba (campo1,campo2) values ("$campo1","$campo2")';

pero me coloca (creo) el valor de $campo1, y como este tiene ", lo interpreta como el cierre de las " del primer campo...

me explico?

como se hace para que me añada las " como valor y no como un cierre de " del campo?

muchas gracias
  #2 (permalink)  
Antiguo 11/03/2004, 13:03
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Usa comillas simples en tus SQL para la insercción de tu variable .. También te ayudará (para evitar problemas) usar la función mysql_escape_string() a cada campo (variable) que se destine a la BD.

Código PHP:
$campo1=mysql_escape_string($campo1);
$campo2=mysql_escape_string($campo2);

$consulta "insert into prueba (campo1,campo2) values ('$campo1','$campo2')"
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 13:26.