В любом случае можно ли преобразовать эту строку из 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()
Если кто-нибудь может объяснить, как это сделать, это было бы очень полезно
Если вы используете стиль передачи параметров, DB API позаботится о побеге. Вам не нужно избегать себя и построить sql:
x.execute("INSERT INTO chatitems VALUES (null, null, %s, %s)", [
self.request.get("user"),
self.request.get("message")
])
Термин «связанный» относится к процессу привязки входного значения к
буфер выполнения базы данных. На практике это означает, что
входное значение непосредственно используется как значение в операции. Клиент
не должно требоваться «экранировать» значение, чтобы его можно было использовать —
значение должно быть равно фактическому значению базы данных.
Других решений пока нет …