sql >> Databáze >  >> RDS >> Mysql

Vložení souboru obrázku s PyQt5 do sloupce tabulky databáze MySQL

Pro sestavení dotazu byste neměli zřetězit proměnné, ale raději použít zástupné symboly, jinak bude váš kód náchylný k útokům SQL Injection. Na druhou stranu musíte převést QPixmap, nikoli text, na bajty pomocí QBufferu jako prostředníka:

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. Jak vrátit více řádků z uložené procedury Oracle z více kurzorů?

  2. Připojujete se k více instancím CloudSQL pomocí Cloud sql proxy?

  3. Získejte ID vloženého záznamu:PHP &MS SQL SERVER

  4. Způsoby, jak se vyhnout synchronizaci příkazů MySQLdb; tento příkaz nelze spustit nyní (2014) výjimka