sql = """
INSERT INTO [SCHOOLINFO]
VALUES(
'""" + self.accountNo + """',
'""" + self.altName + """',
'""" + self.address1 + """',
'""" + self.address2 + """',
'""" + self.city + """',
'""" + self.state + """',
'""" + self.zipCode + """',
'""" + self.phone1 + """',
'""" + self.phone2 + """',
'""" + self.fax + """',
'""" + self.contactName + """',
'""" + self.contactEmail + """',
'""" + self.prize_id + """',
'""" + self.shipping + """',
'""" + self.chairTempPass + """',
'""" + self.studentCount + """'
)
""";
我有以下代码,Python不断抛出错误,它可以连接字符串和非类型对象。问题是我已经验证了这里的每个变量实际上是一个字符串,并且不是空的。今天我在这件事上耽搁了很长一段时间,任何帮助都将不胜感激。
像这样组合SQL查询是非常危险的,特别是由于sql-injection
如果使用
MySqldb
更好的替代方法是:到目前为止,所有这些答案都不是集中在你的问题上,而是集中在要做的事情上。是的,是的-绑定变量更好更安全。是的,使用%进行格式化更快,而且可能更好。
但是关于你的问题,是什么给了你这个错误,它必须是,其中一个值在某一点上不是,没有其他的解释。只需在前面打印一个调试结果,比如:
我敢打赌它会在某个时候打印一些东西;-)
改为使用绑定变量。下面是在Python中使用DBs的规范:PEP 249: Python Database API Specification v2.0。
更新:根据
pymssql
的文档,您需要如下内容:相关问题 更多 >
编程相关推荐