Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Memasukkan file gambar dengan PyQt5 di kolom tabel database MySQL

Anda tidak boleh menggabungkan variabel untuk membangun kueri, melainkan menggunakan placeholder, jika tidak, kode Anda akan rentan terhadap serangan SQL Injection. Di sisi lain, Anda harus mengonversi QPixmap, bukan teks, menjadi byte menggunakan QBuffer sebagai perantara:

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. Permintaan SQL untuk mengekstrak semua posting WordPress dengan kategori

  2. Django Admin - masuk

  3. Hapus dari tabel menggunakan kolom tabel lain

  4. Tidak ada tanggapan dari PHP atas permintaan AJAX

  5. Secara otomatis mematikan kueri yang berjalan lama (MySql), Apache Tomcat DataSource