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

Chèn tệp hình ảnh với PyQt5 trong cột bảng cơ sở dữ liệu MySQL

Bạn không nên nối các biến để tạo truy vấn mà nên sử dụng các trình giữ chỗ, nếu không mã của bạn sẽ dễ bị tấn công SQL Injection. Mặt khác, bạn phải chuyển đổi QPixmap, không phải văn bản, thành byte bằng cách sử dụng QBuffer làm trung gian:

con = MySQLdb.connect(host="localhost", user="root", password="", database="somedb")
with con:
    cur = con.cursor()
    name = self.ui.name_edit.text()
    buff = QBuffer()
    buff.open(QIODevice.WriteOnly)
    pixmap = QPixmap(self.ui.image_label.pixmap())
    pixmap.save(buff, "PNG")
    binary_img = buff.data().toBase64().data()
    cur.execute("INSERT INTO persons(name, photo) VALUES (%s, %s)", (name, binary_img))
    con.commit()



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. So sánh hai chuỗi trong MySQL

  2. Tự động sao lưu cơ sở dữ liệu MySQL trên máy chủ Linux

  3. ssh đầu tiên với mysqldb trong python

  4. PDO rowCount () sau truy vấn UPDATE có thể hiển thị sự khác biệt giữa hàng không có thay đổi nào và hàng không tồn tại không?

  5. Cái nào tốt hơn một truy vấn lớn hay nhiều truy vấn nhỏ?