**我的代码**
cur.execute('Update stud SET(fname,mname,lname,course,yns,radio,sy)VALUES("%s","%s","%s","%s","%s","%s","%s") where Studnum=="%s"'%(fname,mname,lname,course,yns,status,sy,studnum))
con.commit()
错误
cur.execute('Update stud SET(fname,mname,lname,course,yns,radio,sy)VALUES("%s","%s","%s","%s","%s","%s","%s") where Studnum=="%s"'%(fname,mname,lname,course,yns,status,sy,studnum))
sqlite3.OperationalError:靠近“(”:语法错误
这样行吗?你知道吗
我不知道你和MSSQL一起工作的哪个数据库不喜欢双引号。你知道吗
这是一个基本的SQL语法问题。以下是您应该如何编写查询:
我将您的
%s
替换为?
,这是在Python中向查询传递参数的方式。你知道吗这些被称为参数化查询,这样做有助于防止SQL注入,因为您没有直接在SQL查询中注入值。不仅如此,它还将确保为数据库类型正确转义值。你知道吗
在Python中,有一种处理所有数据库的标准方法,称为数据库api(dbapi)。上的wiki entry维基.python.org更详细地讲,manual page for sqlite in Python还有一些例子。你知道吗
相关问题 更多 >
编程相关推荐