sql >> Databáze >  >> RDS >> Mysql

Chyba v syntaxi SQL při pokusu o nahrání obrázku do pole BLOB

Musíte uniknout z obsahu obrázku.

Existují různé způsoby, jak toho dosáhnout:

1) Pokud je verze PHP, kterou používáte, menší než PHP 5.5, můžete použít funkci "mysql_real_escape_string".

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

2) Kódujte obsah obrázku pomocí funkce "base64_encode", zakódování obsahu do base64 zvětší velikost souboru, ale použití je velmi bezpečné.

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

Nezapomeňte dekódovat obsah pomocí funkce "base64_decode", když si chcete soubor přečíst nebo stáhnout.

3) Uzavřete dvojité a jednoduché uvozovky pomocí funkce "Addslashes"

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

Nezapomeňte odstranit lomítka, když se obrázek čte nebo stahuje pomocí funkce "stripslashes".




  1. Postgres globálně nastavuje automatické zavázání

  2. Mysqli vyberte ze dvou tabulek

  3. Jak nainstalovat MySQL pomocí phpMyAdmin na Ubuntu 14.04

  4. Převeďte byte na dvojnásobnou přesnost v PostgreSQL