Mysql
 sql >> Database >  >> RDS >> Mysql

Errore nella sintassi SQL durante il tentativo di caricare l'immagine nel campo BLOB

Devi sfuggire al contenuto dell'immagine.

Ci sono diversi modi per ottenerlo:

1) Se la versione PHP che stai usando è minore di PHP 5.5 puoi usare la funzione "mysql_real_escape_string".

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

2) Codifica il contenuto dell'immagine usando la funzione "base64_encode", la codifica del contenuto in base64 aumenterà le dimensioni del file, ma è molto sicuro da usare.

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

Ricordati di decodificare il contenuto con la funzione "base64_decode" quando vuoi leggere o scaricare il file.

3) Esci dalle virgolette doppie e singole usando la funzione "aggiunge barre"

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

Ricordati di rimuovere le barre quando l'immagine viene letta o scaricata con la funzione "stripslashes".