Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Błąd w składni SQL podczas próby załadowania obrazu do pola BLOB

Musisz uciec od treści obrazu.

Można to osiągnąć na różne sposoby:

1) Jeśli wersja PHP, której używasz, to PHP 5.5, możesz użyć funkcji "mysql_real_escape_string".

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

2) Zakoduj zawartość obrazu za pomocą funkcji „base64_encode”, kodowanie zawartości do base64 zwiększy rozmiar pliku, ale jest bardzo bezpieczne w użyciu.

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

Pamiętaj, aby zdekodować zawartość za pomocą funkcji „base64_decode”, gdy chcesz odczytać lub pobrać plik.

3) Unikaj podwójnych i pojedynczych cudzysłowów za pomocą funkcji „addslashes”

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

Pamiętaj, aby usunąć ukośniki, gdy obraz jest odczytywany lub pobierany za pomocą funkcji „stripslashes”.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Baza danych geonazw:uzyskanie pełnej hierarchii (kraj -> admin1 -> admin2 -> miasto) za pomocą tylko jednego zapytania mysql

  2. Dlaczego zamykamy wynik w Mysqli

  3. VARCHAR vs TEXT w MySQL

  4. Dlaczego to :id w Railsach nie działa z Postgresql, ale działa z MySQL?

  5. PHP mysqli przygotowało instrukcję dla procedury składowanej bez parametru out