knrt.net
当前位置:首页 >> Python操作mysql报错:1064, "You hAvE An Error i... >>

Python操作mysql报错:1064, "You hAvE An Error i...

temp = gui.value() cur.execute('insert into userinfo values(%s,%s,%s)',temp[0],temp[1],temp[2])

执行sql后要 conn=mysql.connect(````) cur=conn.cursor() cur.execute(SQL) conn.commit() 这句很重要 cur.close() conn.close()

哦。为什么要传递参数呢? self.cur.execute('select * from %s where ID=%s'%(u_name, m_id)) 这样不是更简单吗? 我也一直是这样用的。传参数的办法,看着太复杂。咱只学简单的,能用就成。

建议认真看一下报错提示,提示说明你的sql语句错了,你可以把你的Create table...的sql语句打印出来看一下,就一目了然了。如果打印出来你看不出来哪里错了,那可以在下面的网址学一下SQL语法:网页链接

SQL语句写的不对,cur.executemany("insert into test(name,age) values ('"+values[person_a]+"','"+values[person_b]+"')")

是你这个用户在你的数据库上没访问权限吧,数据库都设置好了没。 看看是否是pydev的环境配置问题,需要配置python的sys,还有的可能是你环境种装了不同版本的python,mysqldb。

# -*- coding: utf-8 -*- import MySQLdb from MySQLdb.cursors import DictCursor def catch_2006(func): """ To catch MySQL Error 2006 ('Server has gone away') """ def _(self, *args, **kwargs): try: return func(self, *args, **kwargs...

应该是编码的问题,全部软件UNICODE或者是全部转成UTF-8,各试一次就解决了。 另外URL里不要有特殊字符。比如逗号,引号,冒号之类的。如果有,就说明你的URL不标准,需要做url encode之后的标准URL才可以。

# -*- coding: utf-8 -*-import MySQLdbfrom MySQLdb.cursors import DictCursor def catch_2006(func): """ To catch MySQL Error 2006 ('Server has gone away') """ def _(self, *args, **kwargs): try: return func(self, *args, **kwargs) ...

那肯定是因为你的insert语句里面的values有问题,这些值都为空,所以你返回结果行为None,你可以试着输出一下self.insertSql这个变量,看看输出来的结果是什么就知道了。 或者是你把values的值换成字符串,成功插入后再修改成变量,慢慢调试。 ...

网站首页 | 网站地图
All rights reserved Powered by www.knrt.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com