在python中进行sql连接时,如何将日期作为输入并将其插入表中

在python中进行sql连接时,如何将日期作为输入并将其插入表中,python,mysql,Python,Mysql,我尝试了一些sql连接,最近遇到了一个问题,我无法将iSeries日期放入表中。我已经给出了下面的代码。我应该在这里面加什么 import mysql.connector as con db = con.connect(host = "localhost", user = "root", password = "root", database = "vish") if db.is_connected(): print("success") a = int(input("roll no.

我尝试了一些sql连接,最近遇到了一个问题,我无法将iSeries日期放入表中。我已经给出了下面的代码。我应该在这里面加什么

import mysql.connector as con
db = con.connect(host = "localhost", user = "root", password = "root", database = "vish")

if db.is_connected():
    print("success")
a = int(input("roll no. : "))
b = input("name : ")
c = int(input("phone : "))
cursor = db.cursor()
q = ("insert into student values({}, '{}', {})".format(a,b,c))
cursor.execute(q)
db.commit()

如何获取日期并将其插入表如果您有一个表
t
和一个列
c
,并且希望插入一个日期文本,则该文本的格式为
'YYYY-MM-DD'
,例如:

INSERT INTO t(c) VALUES('2020-01-11')
但是,每当您从“外部”获得输入时,您就将自己置于SQL注入攻击的环境中,并且应该使用准备好的语句。如果您已经解析了输入日期并从输入中构建了一个字符串文本,例如
'2020-01-11'
,那么您就安全了。但是,如果您已经隔离了年、月和日,并且您仍然在使用准备好的语句,因为您还没有严格验证其他值,那么您也可以对日期使用
'?'
参数,因此:

from datetime import date

today = date(2020, 1, 11)
cursor = db.cursor()
cursor.execute("INSERT INTO t(c) VALUES(?)", (today,))
cursor.commit()

是否涉及任何错误消息?我看不到在代码中插入日期值的位置