sql >> Database >  >> RDS >> Mysql

Fout in SQL-syntaxis bij het uploaden van afbeelding naar BLOB-veld

Je moet ontsnappen aan de inhoud van de afbeelding.

Er zijn verschillende manieren om dat te bereiken:

1) Als de PHP-versie die u gebruikt kleiner is dan PHP 5.5, kunt u de functie "mysql_real_escape_string" gebruiken.

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

2) Codeer de afbeeldingsinhoud met behulp van de functie "base64_encode", het coderen van de inhoud naar base64 zal de bestandsgrootte vergroten, maar is zeer veilig in gebruik.

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

Vergeet niet om de inhoud te decoderen met de functie "base64_decode" wanneer u het bestand wilt lezen of downloaden.

3) Ontsnap aan de dubbele en enkele aanhalingstekens met de functie "addslashes"

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

Vergeet niet om de schuine strepen te verwijderen wanneer de afbeelding wordt gelezen of gedownload met de functie "stripslashes".




  1. GROUP BY met MAX(DATUM)

  2. Hoe associatieve arrays in Oracle Database te maken

  3. Is Mysql UUID_SHORT() vergelijkbaar met UUID()

  4. Mysql toont elke dag tussen, zelfs als er geen resultaten zijn