2016-04-03 7 views
1

Gibt es trotzdem, diese Zeile von PHP in Python zu konvertieren und wenn ja bitte erklären was alles bedeutet und wie es funktioniert bitte.Konvertieren von mysql_query von PHP in Python?

mysql_query("INSERT INTO chatitems VALUES (null, null, '". 
    mysql_real_escape_string($_REQUEST['user']). 
    "', '". 
    mysql_real_escape_string($_REQUEST['message']). 
    "')"); 

Ich habe eine Menge Ärger wurde und versuchte dabei

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() 

Wenn jemand kann erklären, wie dies zu tun, wäre es eine große Hilfe

Antwort

0

sein Wenn Sie parameter passing style, DB-API wird sich um die Flucht kümmern. Sie brauchen nicht selbst zu entkommen und SQL-Konstrukt:

x.execute("INSERT INTO chatitems VALUES (null, null, %s, %s)", [ 
    self.request.get("user"), 
    self.request.get("message") 
]) 

Der Begriff bezieht sich auf den Prozess gebunden eines Eingangswertes zu einem Datenbank Ausführungspuffer verbindlich. In der Praxis bedeutet dies, dass der Eingangswert direkt als Wert in der Operation verwendet wird. Der Client sollte nicht erforderlich sein, um den Wert zu "entkommen", damit er verwendet werden kann - der Wert sollte dem tatsächlichen Datenbankwert entsprechen.