当前位置:  开发笔记 > 编程语言 > 正文

psycopg2.ProgrammingError:"st"\ r \n附近的语法错误,

如何解决《psycopg2.ProgrammingError:"st"\r\n附近的语法错误,》经验,为你挑选了1个好方法。

在这里,我需要在python中的postgresql表中插入一些值.

我尝试下面的代码,但一个错误是"psycopg2.ProgrammingError:语法错误在或附近"st"\ r,referer:http:// localhost:8080 / "

conn = psycopg2.connect(database="Test", user="dev", password="123456", host="192.168.1.104", port="5432")
cursor = conn.cursor()

cursor.execute('''INSERT INTO signup (id, name, email, dob, address, mobile, password) VALUES (1,%s,%s,%s,%s,%s,%s)''' % (name,email,dob,address,mobile,password))
conn.commit()

请解决这个问题,提前谢谢.....



1> 小智..:

您有一个或多个参数的回车.并且因为您正在使用参数插值,这会破坏查询字符串.但参数插值的更大问题是此代码易受SQL注入攻击.

首先,请阅读:http: //initd.org/psycopg/docs/usage.html#the-problem-with-the-query-parameters 然后:http: //initd.org/psycopg/docs/usage.html #passage-parameters-to-sql-queries 然后,将代码重写为:

cursor.execute('''INSERT INTO signup (id, name, email, dob, address, mobile, password) VALUES (1,%s,%s,%s,%s,%s,%s)''',  (name,email,dob,address,mobile,password))

现在,如果您愿意,可以将"\ r"传递给数据库,并且您也可以安全地使用SQL注入.

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有