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

Wstawianie pliku obrazu z PyQt5 w kolumnie tabeli bazy danych MySQL

Nie należy łączyć zmiennych w celu zbudowania zapytania, ale raczej używać symboli zastępczych, w przeciwnym razie kod będzie podatny na ataki SQL Injection. Z drugiej strony, musisz przekonwertować QPixmap, a nie tekst, na bajty, używając QBuffer jako pośrednika:

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. Jak opróżnić wszystkie wiersze ze wszystkich tabel w mysql (w sql)

  2. Dlaczego „ograniczenie klucza obcego nie działa”, gdy istnieje klucz obcy?

  3. Wykres drzewa rodowego/rodzinnego z bazy danych

  4. Znajdź ranking liczby całkowitej w mysql

  5. SQL — Wybierz wiersze z dwóch różnych tabel