【发布时间】:2012-07-27 04:10:03
【问题描述】:
您好,我在使用 sql 查询时遇到问题,它在控制台中可以完美运行,但是当我在 python 中实现时,它似乎可以完美运行,没有错误,但是当我检查数据库时它没有工作,但是使用控制台它确实可以正常工作当我检查数据库时出现错误,数据在那里......我使用的查询完全相同。
有什么想法吗?
UPDATE ex SET fbsiteurl = stringvarible, fbsitesource = '' WHERE id = 23123;
在python中:
cur = con.cursor()
sqlquery = "UPDATE ex SET fbsiteurl = '"+somevarible+"', fbsitesource = '"+somevarible+"' WHERE id = %d;" % recordid
print sqlquery
cur.execute(sqlquery)
查询在打印中显示正常没有问题,如果我复制打印出来并将其粘贴到 mysql 控制台中,它每次都可以完美运行,只是来到 python 它的行为就像它一样,但 dosnt 真的 0_o
【问题讨论】:
-
请不要将字符串添加到一起来创建您的查询。这是非常危险的。阅读关于“参数化查询”的数据库库文档。例如,可以写成“sqlquery = 'UPDATE ex SET fbsiteurl = %s, fbsitesource= %s WHERE id = %s'; cur.execute(sqlquery, (somevariable, anothervariable, recordid))”。这非常重要!
-
感谢您指出我很感激