无论如何,是否有将这行代码从PHP转换成python的信息,如果有的话,请解释每件事的含义和作用方式。
mysql_query( "INSERT INTO chatitems VALUES ( null, null, '".
mysql_real_escape_string( $_REQUEST['user'] ).
"', '".
mysql_real_escape_string( $_REQUEST['message'] ).
"')" );
我遇到很多麻烦并尝试做
import MySQLdb
conn = MySQLdb.connect(host='24.44.205.122', user='root', password='1234',
database='chat')
x = conn.cursor()
try:
x.execute("INSERT INTO chatitems VALUES (%s, %s)""", (null, null), conn.escape_string(self.request.get("user")). "', '". conn.escape_string(self.request.get("message")). "')" );
except:
conn.rollback()
conn.close()
如果有人可以解释如何做到这一点,那将是一个很大的帮助
最佳答案
如果使用parameter passing style,则DB API将负责转义。您无需逃脱自己并构造sql:
x.execute("INSERT INTO chatitems VALUES (null, null, %s, %s)", [
self.request.get("user"),
self.request.get("message")
])
术语“绑定”是指将输入值绑定到
数据库执行缓冲区。实际上,这意味着
输入值直接用作操作中的值。客户端
不应要求“转义”该值以便可以使用它-
该值应等于数据库的实际值。