Ver Mensaje Individual
  #2 (permalink)  
Antiguo 12/10/2011, 06:10
Avatar de Artificium
Artificium
 
Fecha de Ingreso: enero-2011
Mensajes: 492
Antigüedad: 13 años, 3 meses
Puntos: 81
Respuesta: comillas simples al insertar registro

Es obvio porque sucede eso, cuando uno intenta hacer un insert en una tabla hace esto:

$sql = "INSERT INTO tabla (campo1, campo2) VALUES ('valor1', 'valor2')";

qué pasa si reemplazamos valor2 por valor'2, tendríamos esto:

$sql = "INSERT INTO tabla (campo1, campo2) VALUES ('valor1', 'valor'2')";

vemos que la comilla simple se cierra antes de completar la sentencia sql adecuadamente, eso provoca el error. La solución? simplemente escapa la comilla. Podrías hacerlo de este modo:

$valor = str_replace("'", "\'", $valor);

Espero que te sirva.