Форум сайта python.su
Доброго времени.
Python 2.6.6 debian squeeze
Пишу следующее:
sql="""INSERT INTO demo_users.vpbxes (vpbx_id,extension1,secret1,pin1,extension2,secret2,pin2,is_free,queue,conference,group) VALUES ('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s') ;"""%(vpbx_id,extension1,secret1,pin1,extension2,secret2,pin2,free,queue,conference,group) sql=main_db.escape_string(str(sql)) main_cursor.execute(sql) main_db.commit
Traceback (most recent call last): File "./demo_users.py", line 37, in <module> main_cursor.execute(sql) File "/usr/lib/pymodules/python2.6/MySQLdb/cursors.py", line 166, in execute self.errorhandler(self, exc, value) File "/usr/lib/pymodules/python2.6/MySQLdb/connections.py", line 35, in defaulterrorhandler raise errorclass, errorvalue _mysql_exceptions.ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'group) VALUES (\\'2\\',\\'1003\\',\\'KgCUC1o^,3jg;0^WF;jnGpPlDFLAB66X\\',\\'30940\\',\\'1' at line 1")
Офлайн
Мда, вообще от пароля не зависит, убираю поля с паролями из запроса и тоже самое.. в чем же тогда может быть причина
Офлайн
Ох уже эти апострофы и кавычки..
sql="""INSERT INTO `demo_users`.`vpbxes` (`vpbx_id`,`extension1`,`secret1`,`pin1`,`extension2`,`secret2`,`pin2`,`is_free`,`queue`,`conference`,`group`) VALUES('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s') ;"""%(vpbx_id,extension1,secret1,pin1,extension2,secret2,pin2,free,queue,conference,group)
Офлайн
а если в апострофах оставить только `group`?
Офлайн
esergion
про атаки типа “sql инъекция” слышали? это небольшой намек на то как происходит подстановка значений в запрос
Отредактировано JOHN_16 (Июнь 15, 2013 16:40:00)
Офлайн
Конечно слышал, только это просто скриптик формирующий таблички рабочие, данных никаких не вводится.
По поводу апострофов только для group попробую позже
Офлайн