Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Lỗi trong cú pháp SQL khi cố gắng tải hình ảnh lên trường BLOB

Bạn phải thoát khỏi nội dung hình ảnh.

Có nhiều cách khác nhau để đạt được điều đó:

1) Nếu phiên bản PHP bạn đang sử dụng là phiên bản nhỏ hơn PHP 5.5, bạn có thể sử dụng hàm "mysql_real_escape_string".

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

2) Mã hóa nội dung hình ảnh bằng chức năng "base64_encode", mã hóa nội dung thành base64 sẽ làm tăng kích thước tệp, nhưng rất an toàn khi sử dụng.

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

Hãy nhớ giải mã nội dung bằng hàm "base64_decode" khi bạn muốn đọc hoặc tải xuống tệp.

3) Thoát khỏi dấu ngoặc kép và dấu nháy đơn bằng cách sử dụng chức năng "dấu gạch chéo"

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

Hãy nhớ xóa dấu gạch chéo khi hình ảnh được đọc hoặc tải xuống bằng chức năng "dấu gạch chéo".




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PDO Multi-query SQLSTATE [HY000]:Lỗi chung

  2. Các trận chiến mã hóa ký tự UTF-8 json_encode ()

  3. .NET MySqlCommand @ placeholder xung đột với biến MySQL

  4. PHP / MySQL - bao gồm số nhiều nhưng loại trừ số ít

  5. PHP 7.0 và lỗi khởi động MySQL ký hiệu không xác định:mysqlnd_allocator in Unknown