尝试执行以下操作时:
def postToMySQL(date,data,date_column_name,data_column_name,table):
cursor = conn.cursor ()
sql = "\"\"\"INSERT INTO " + table + " (" + date_column_name + ", " + data_column_name + ") VALUES(%s, %s)" + "\"\"\"" #+ ", " + "(" + date + ", " + data + ")"
cursor.execute(sql,(date,data))
我得到这个错误:
_mysql_exceptions.ProgrammingError: (1064, 'You have an error in your SQL syntax... near: \'"""INSERT INTO natgas (Date, UK) VALUES(\'2012-05-01 13:00:34\', \'59.900\')"""\' at line 1')
我对语法哪里出错感到困惑,因为下面的硬编码示例可以正常工作:
^{pr2}$你能找出错误吗?在
或者,您能告诉我如何将参数传递给字段列表和值列表吗?在
非常感谢!在
这些三引号是python中表示字符串的一种方式。它们不应该是实际查询的一部分。在
另一方面,请确保您信任这种方法的输入。查找
SQL Injection
。在这显然不是vlaidsql命令。你需要去掉反斜杠,你可能在逃避你不该做的事
例如,三重引号在那里是不必要的。在
相关问题 更多 >
编程相关推荐