猿问

sqlite中的sql语句

帮助上的例子importsqlite3
importmd5
defmd5sum(t):
returnmd5.md5(t).hexdigest()
con=sqlite3.connect(":memory:")
con.create_function("md5",1,md5sum)
cur=con.cursor()
cur.execute("selectmd5(?)",("foo",))//这行是什么意思?
printcur.fetchone()[0]有注释那行是什么意思?
还有这个cur.execute("select?",(p,))文档上也不说,真TM的气人,法克
沧海一幻觉
浏览 463回答 2
2回答

一只甜甜圈

看样子,应该是,这一行等于cur.execute("selectmd5(foo)");

一只斗牛犬

根据文档:Instead,usetheDB-API’sparametersubstitution.Put?asaplaceholderwhereveryouwanttouseavalue,andthenprovideatupleofvaluesasthesecondargumenttothecursor’sexecute()method.之所以用placeholder,是因为直接使用字符串连接生成SQL代码这种做法是非常糟糕的,轻则字符串没有escape导致语法错误,重则可能遭受潜在的SQL注入攻击。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答