Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Erro na sintaxe SQL ao tentar fazer upload da imagem para o campo BLOB


Você tem que escapar do conteúdo da imagem.

Existem diferentes maneiras de conseguir isso:

1) Se a versão do PHP que você está usando for menor que o PHP 5.5, você pode usar a função "mysql_real_escape_string".
$query="INSERT INTO records VALUES('','$name','$pname','$email','$phone','$cost','$des','$category','$date','" . mysql_real_escape_string($imagedata) ."');";

2) Codifique o conteúdo da imagem usando a função "base64_encode", codificar o conteúdo para base64 aumentará o tamanho do arquivo, mas é muito seguro de usar.
 $query="INSERT INTO records VALUES('','$name','$pname','$email','$phone','$cost','$des','$category','$date','" . base64_encode($imagedata) ."');";

Lembre-se de decodificar o conteúdo com a função "base64_decode" quando quiser ler ou baixar o arquivo.

3) Escape das aspas duplas e simples usando a função "addslashes"
 $query="INSERT INTO records VALUES('','$name','$pname','$email','$phone','$cost','$des','$category','$date','" . addslashes($imagedata) ."');";

Lembre-se de remover as barras quando a imagem for lida ou baixada com a função "stripslashes".