Python conn.commit()SQL中的语法无效
我无法理解为什么conn.commit在我尝试插入数据时抛出无效语法Python conn.commit()SQL中的语法无效,python,sql,web-scraping,Python,Sql,Web Scraping,我无法理解为什么conn.commit在我尝试插入数据时抛出无效语法 import urllib.request as urllib import socket import pyodbc #ip fra host host = "www.skat.dk" dest = socket.gethostbyname(host) hdata = 'host',host,'IP:',dest #Responseheader fra en domæne request = urllib.Requ
import urllib.request as urllib
import socket
import pyodbc
#ip fra host
host = "www.skat.dk"
dest = socket.gethostbyname(host)
hdata = 'host',host,'IP:',dest
#Responseheader fra en domæne
request = urllib.Request('http://skat.dk')
request.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36')
response = urllib.urlopen(request)
rdata = response.info()
#SQL Connection til localhost microsoft sql server
conn = pyodbc.connect('Driver={SQL Server Native Client 11.0};'
'Server=DESKTOP-THV2IDL;'
'Database=host;'
'Trusted_Connection=yes;')
cursor = conn.cursor()
cursor.execute('SELECT * FROM host.dbo.hosts')
#Insert values
cursor.execute("""
INSERT INTO host.dbo.hosts
(Id, host, ip, HSTS, HPKP, XContentTypeOptions, XFrameOptions, ContentSecurityPolicy)
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
""",
(49, host, dest, rdata['Strict-Transport-Security'], rdata['Public-Key-Pins'],
rdata['X-Content-Type-Options'], rdata['X-Frame-Options'], rdata['Content-Security-Policy'],
rdata['X-Frame-Options'])
conn.commit():
SyntaxError:无效语法
PS C:\Users\Farzad\Desktop\Python>&C:/Users/Farzad/AppData/Local/Programs/Python/Python37-
32/python.exe c:/Users/Farzad/Desktop/python/Webscraping/Responseheaderinfo.py
文件“c:/Users/Farzad/Desktop/Python/Webscraping/Responseheaderinfo.py”,
第47行
conn.commit():
^
在
conn.commit()
后面附加了一个冒号
conn.commit():
无效。在conn.commit()
后面附加了一个冒号
conn.commit():
无效。缺少括号,请参见下面最后一行
cursor.execute("""
INSERT INTO host.dbo.hosts
(Id, host, ip, HSTS, HPKP, XContentTypeOptions, XFrameOptions, ContentSecurityPolicy)
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
""",
(49, host, dest, rdata['Strict-Transport-Security'], rdata['Public-Key-Pins'],
rdata['X-Content-Type-Options'], rdata['X-Frame-Options'], rdata['Content-Security-Policy'],
rdata['X-Frame-Options'])) #<----extra bracket missing here
cursor.execute(“”)
插入到host.dbo.hosts中
(Id、主机、ip、HST、HPKP、XContentTypeOptions、XFrameOptions、ContentSecurityPolicy)
值(?,,,,,,,,,,,,?)
""",
(49,主机,目的地,rdata['Strict-Transport-Security'],rdata['Public-Key-Pins'],
rdata['X-Content-Type-Options',rdata['X-Frame-Options',rdata['Content-Security-Policy'],
rdata['X-Frame-Options'])#如果缺少括号,请参见下面最后一行
cursor.execute("""
INSERT INTO host.dbo.hosts
(Id, host, ip, HSTS, HPKP, XContentTypeOptions, XFrameOptions, ContentSecurityPolicy)
VALUES (?, ?, ?, ?, ?, ?, ?, ?)
""",
(49, host, dest, rdata['Strict-Transport-Security'], rdata['Public-Key-Pins'],
rdata['X-Content-Type-Options'], rdata['X-Frame-Options'], rdata['Content-Security-Policy'],
rdata['X-Frame-Options'])) #<----extra bracket missing here
cursor.execute(“”)
插入到host.dbo.hosts中
(Id、主机、ip、HST、HPKP、XContentTypeOptions、XFrameOptions、ContentSecurityPolicy)
值(?,,,,,,,,,,,,?)
""",
(49,主机,目的地,rdata['Strict-Transport-Security'],rdata['Public-Key-Pins'],
rdata['X-Content-Type-Options',rdata['X-Frame-Options',rdata['Content-Security-Policy'],
rdata['X-Frame-Options'])#您编写了一个:
我还注意到您提供了9个值,而查询中只考虑了8个值rdata['X-Frame-Options']
似乎在执行调用结束时重复。我删除了:并添加了另一个值,在查询中删除了重复项,但仍然得到相同的语法错误。您编写了一个:
我还注意到,在查询中只考虑了8个值时,您提供了9个值rdata['X-Frame-Options']
似乎在执行调用结束时重复。我删除了:并添加了另一个值,删除了查询中的重复项,但仍然得到相同的语法错误。它是否使用相同的行引用生成相同的语法错误?你发布的这篇文章肯定是由于冒号引起的。它是否在同一行引用中产生了相同的语法错误?你发布的这篇文章肯定是因为冒号。