sql >> Databasteknik >  >> RDS >> Mysql

Fel i SQL-syntax vid försök att ladda upp bild till BLOB-fältet

Du måste undkomma bildinnehållet.

Det finns olika sätt att uppnå det:

1) Om PHP-versionen du använder är mindre än PHP 5.5 kan du använda funktionen "mysql_real_escape_string".

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

2) Koda bildinnehållet med funktionen "base64_encode", kodning av innehållet till base64 kommer att öka filstorleken, men det är mycket säkert att använda.

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

Kom ihåg att avkoda innehållet med funktionen "base64_decode" när du vill läsa eller ladda ner filen.

3) Undvik dubbla och enkla citattecken med funktionen "lägg till snedstreck"

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

Kom ihåg att ta bort snedstreck när bilden läses eller laddas ner med "stripslashes"-funktionen.




  1. MYSQL till outfil-åtkomst nekad - men min användare har ALL åtkomst.. och mappen är CHMOD 777

  2. MySQL ABS() Funktion – Returnera det absoluta värdet av ett tal

  3. MySQL Union-fråga duplicera/gruppera efter problem

  4. Optimera while och SQL i varje