向sql表添加外部数据

向sql表添加外部数据,sql,python-3.x,sqlite,Sql,Python 3.x,Sqlite,我试图从外部添加数据,但是当代码出现在这里时,我得到一个错误。如何从外部添加数据 我只想让某人将数据添加到表中 def ogrencikaydi(self): print("*******ÖĞRENCİ KAYIT YERİ*******") isim=input("İSİM:") soyisim=input("SOYİSİM:") numara=input("N

我试图从外部添加数据,但是当代码出现在这里时,我得到一个错误。如何从外部添加数据

我只想让某人将数据添加到表中

def ogrencikaydi(self):
        print("*******ÖĞRENCİ KAYIT YERİ*******")
        isim=input("İSİM:")
        soyisim=input("SOYİSİM:")
        numara=input("NUMARA:")
        cinsiyet=input("CİNSİYET:")
    
        baglanti = sqlite3.connect("universite.db")
        imlec = baglanti.cursor()
  
        imlec.execute("INSERT INTO HACETTEPE VALUES(isim,soyisim,numara,cinsiyet)") #non-working part
        baglanti.commit()
        baglanti.close()
        self.menu()

该查询存在结构问题。缺少要插入的数据

一个查询必须遵循以下格式:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
INSERT INTO table_name                # columns declaration is missing
VALUES (value1, value2, value3, ...);
您的查询具有以下格式:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
INSERT INTO table_name                # columns declaration is missing
VALUES (value1, value2, value3, ...);
如果使用该查询填充表的所有字段,则使用的查询格式有效。可能是因为您没有这样做而导致错误。 参考这个

在此过程中,您不需要使用变量值,而是使用变量名称。 这是因为您没有使用字符串格式。 关于这一点,请参考此

因此,解决方案是:

query = "INSERT INTO HACETTEPE (isim,soyisim,numara,cinsiyet) VALUES(?,?,?,?)" 
imlec.execute(query, [isim,soyisim,numara,cinsiyet])

由于

警告,我更新到了一个更安全的版本:该解决方案对SQL注入开放,尤其是用户输入。改为使用
sqlite3
支持的。根据您的评论修改,我不知道这一点。谢谢,如果只显示
python
代码,为什么贴子会标记为
php
d
?在提问之前请先回答,因为已经提出并回答了许多关于Python SQLite/DB的插入数据问题。