2013-07-08 51 views
0

我的烧瓶中,并且在执行该语句全局名称“UNHEX”没有定义

salt=os.urandom(32) 

db_session.execute('insert into posUsers values (?, ?, ?, ?)',[usern,unhex("sjg"),salt,row.clientId]) 

它给这个错误UNHEX没有定义工作!

更新 - 现在我改变了这个

db_session.execute('insert into posUsers (username,passwd,salt,clientId ) values (?,UNHEX("6568"),UNHEX("haf"), ?)',[usern,row.clientId]) 

它给人一种新的错误名单'对象有没有属性“钥匙” 任何解决方案?

+0

您发布将提高'SyntaxError'因为'未十六进制(“SJG”)的代码'是不是有效的Python句法。 – Bakuriu

回答

1

这是因为当你将它传递给一个python列表时,它被视为一个不存在的python函数。

您需要将其包含在sql查询字符串中。

salt=os.urandom(32) 

db_session.execute('insert into posUsers values (?,unhex("sjg"),?, ?)',[usern,salt,row.clientId]) 

UNHEX是MySQL的功能,它被视为Python函数导致错误

相关问题