我有以下问题:这会在输出中返回“\ n”,但我希望它返回一个类似SQL查询的换行符,有人可以帮我这个吗? IDLE,Python 2.7.5。
int iD, str days, int maxCapacity, int crn, int enrollment, string semester, string room
python代码:
def registerCourse(iD, days, maxCapacity, crn, enrollment, semester, room):
return "UPDATE CoursesOffered" + "\n" + "SET InstructorID=" + str(iD) + ",Days=" + str(days) + ",MaxCapacity=" + str(maxCapacity) + ",Enrollment=" + str(enrollment) + "\n" + "WHERE CRN=" + str(crn)
我想真正的问题是:如何以字符串格式获取并返回它?我试图让它成为一个直接执行的SQL查询。
答案 0 :(得分:1)
“\ n”只是换行符的表示。
>>> a = 'a\nb'
>>> a
'a\nb'
>>> print (a)
a
b
尝试将值传递给print
函数(或py2中的语句,但括号不会受到伤害)。
NOTA BENE
如果可能,请禁止使用字符串函数将参数传递给查询。这打开了SQL注入的所有大门,削弱了我们的世界和幽冥领域之间的面纱,让HIM在墙后等待。通过驱动程序传递参数。
例如,如果crn
等于'1 or true'
,或等于'1;drop table CoursesOffered'
,会发生什么。
答案 1 :(得分:0)
该函数返回一个字符串。如果您打印字符串,它将使用新行进行渲染。例如:
>>> def foo():
... return "Hi \n This is on a new line."
...
>>> foo()
'Hi \n This is on a new line.'
>>> print foo()
Hi
This is on a new line.