sql >> Base de Datos >  >> RDS >> Mysql

Error en la sintaxis de SQL al intentar cargar la imagen en el campo BLOB

Tienes que escapar del contenido de la imagen.

Hay diferentes formas de lograrlo:

1) Si la versión de PHP que está usando es menor que PHP 5.5, puede usar la función "mysql_real_escape_string".

$query="INSERT INTO records VALUES('','$name','$pname','$email','$phone','$cost','$des','$category','$date','" . mysql_real_escape_string($imagedata) ."');";

2) Codifique el contenido de la imagen usando la función "base64_encode", codificar el contenido en base64 aumentará el tamaño del archivo, pero es muy seguro de usar.

 $query="INSERT INTO records VALUES('','$name','$pname','$email','$phone','$cost','$des','$category','$date','" . base64_encode($imagedata) ."');";

Recuerda decodificar el contenido con la función "base64_decode" cuando quieras leer o descargar el archivo.

3) Escape de las comillas simples y dobles usando la función "addslashes"

 $query="INSERT INTO records VALUES('','$name','$pname','$email','$phone','$cost','$des','$category','$date','" . addslashes($imagedata) ."');";

Recuerde eliminar las barras cuando la imagen se lea o se descargue con la función "stripslashes".