2010-10-17 31 views
5

Sử dụng python với một sqlite DB - phương pháp được sử dụng để thoát dữ liệu ra ngoài và kéo dữ liệu ra ngoài là gì?python và sqlite - lối vào thoát

Sử dụng pysqlite2

Google có các đề xuất xung đột.

Trả lời

20

Sử dụng tham số thứ hai args để chuyển đối số; đừng tự mình thoát. Không chỉ dễ dàng hơn, nó còn giúp ngăn chặn các cuộc tấn công SQL injection.

cursor.execute(sql,args) 

ví dụ,

cursor.execute('INSERT INTO foo VALUES (?, ?)', ("It's okay", "No escaping necessary") 
+0

Cảm ơn, tôi đã không chắc chắn về cách python, tôi cũng nhận thức được các cuộc tấn công SQL đó là lý do tôi đang cố gắng để tìm cách tốt nhất trong python. Cảm ơn, sẽ xem liệu có thêm nhận xét nào về vấn đề này hay không và cho nó đi. – Wizzard

+0

@Wizzard, unutbu là đúng, công trình này và sẽ giúp bạn tiết kiệm rất nhiều đau đầu. Đối với một phần khác của câu hỏi của bạn: pysqlite2 sẽ trả về cho bạn các đối tượng từ DB theo đúng định dạng, vì vậy bạn có thể trực tiếp sử dụng chúng như int, float, string, datetime, ... – eumiro