Форум сайта python.su
Добрый день..
есть Python-скрипт работающий с базой данных - в одном месте берёт из сети текст и заносит его в таблицу MySQL. Текст может быть апсолютно любой.
Всё работает до тех пор, пока в тексте не встречается одинарная кавычка.
Часть скрипта:
... con = mdb.connect(host='127.0.0.1', user='user', passwd='pass', db='db_1', charset='utf8') cur = con.cursor() ... lines = "some text ' here" lines = lines.replace("'", "\'") print lines sql = "INSERT INTO table_a (id, line) VALUES('xxxxxxxxxx" + p_id + "','" + lines + "');" print sql try: cur.execute(sql) except: print "------------##################------------ SQL ERROR ------------##################------------\n" sys.exit(1) ...
Отредактировано alexiy (Окт. 16, 2013 19:32:46)
Офлайн
sql = "INSERT INTO table_a (id, line) VALUES('xxxxxxxxxx" + p_id + "','" + lines + "');"
cur.execute("INSERT INTO im_entry.test (colname) VALUES (%s)", [p])
Офлайн
FishHookЭто прямо эталон граблей из палаты мер и весов :)
Нельзя так делать, тысячу раз говорено-переговорено.
Офлайн
FishHook
Офлайн