我试图通过我的脚本传递一个查询,但是我得到一个SQL错误。 在Heidisql中运行相同的sql语句可以很好地工作。在
我的问题是: -我做错什么了?在
错误信息
_mysql.connection.query(self, query) _mysql_exceptions.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'Gabrielsen)' at line 1")
Python脚本,其中Database是到数据库的正确连接
F="Gunnar Gabrielsen"
Database.query('INSERT INTO documents (name) values (' + F + ');')
i=Database.query('SELECT * from documents;')
print(i)
Python版本:Python 3.4在
在模块:Mysqldb在
数据库:MariaDB
你没有在你的价值上加引号。在
但无论如何你不应该这样做。除了引用问题之外,您还面临着sql注入攻击。在
请改用参数化查询:
您已经生成了:
你需要的是
^{pr2}$但是,如果不进行转义或参数化,则会将代码(和系统)打开,进行“sql注入”和其他黑客攻击。在
相关问题 更多 >
编程相关推荐